## nng_sub_open Create sub socket. ### Synopsis ```c #include #include int nng_sub0_open(nng_socket *s); int nng_sub0_open_raw(nng_socket *s); ``` ### Description The `nng_sub0_open` function creates a xref:../proto/sub.adoc[_SUB_] version 0 xref:../sock/index.adoc[socket] and returns it at the location pointed to by _s_. The `nng_sub0_open_raw` function creates a _SUB_ version 0 socket in xref:../sock/raw.adoc[raw mode] and returns it at the location pointed to by _s_. ### Return Values These functions return 0 on success, and non-zero otherwise. ### Errors [horizontal] `NNG_ENOMEM`:: Insufficient memory is available. `NNG_ENOTSUP`:: The protocol is not supported. ### See Also xref:../proto/pub.adoc[Publisher Protocol (_PUB_)], xref:../proto/sub.adoc[Subscriber Protocol (_SUB_)]