func (s *Sock) GssapiPrincipal() string {
	val := C.zsock_gssapi_principal(unsafe.Pointer(s.zsockT))
	return C.GoString(val)
}
GssapiPrincipal returns the current value of the socket's gssapi_principal option
package goczmq
import "C"
import (
	"unsafe"
)
func (s *Sock) SetHeartbeatIvl(val int) {
	C.zsock_set_heartbeat_ivl(unsafe.Pointer(s.zsockT), C.int(val))
}
func (s *Sock) HeartbeatIvl() int {
	val := C.zsock_heartbeat_ivl(unsafe.Pointer(s.zsockT))
	return int(val)
}
func (s *Sock) SetHeartbeatTtl(val int) {
	C.zsock_set_heartbeat_ttl(unsafe.Pointer(s.zsockT), C.int(val))
}
func (s *Sock) HeartbeatTtl() int {
	val := C.zsock_heartbeat_ttl(unsafe.Pointer(s.zsockT))
	return int(val)
}
func (s *Sock) SetHeartbeatTimeout(val int) {
	C.zsock_set_heartbeat_timeout(unsafe.Pointer(s.zsockT), C.int(val))
}
func (s *Sock) HeartbeatTimeout() int {
	val := C.zsock_heartbeat_timeout(unsafe.Pointer(s.zsockT))
	return int(val)
}
func (s *Sock) SetUseFd(val int) {
	C.zsock_set_use_fd(unsafe.Pointer(s.zsockT), C.int(val))
}
func (s *Sock) UseFd() int {
	val := C.zsock_use_fd(unsafe.Pointer(s.zsockT))
	return int(val)
}
func (s *Sock) SetXPubManual(val int) {
	C.zsock_set_xpub_manual(unsafe.Pointer(s.zsockT), C.int(val))
}
func (s *Sock) SetXPubWelcomeMsg(val string) {
	cVal := C.CString(val)
	defer C.free(unsafe.Pointer(cVal))
	C.zsock_set_xpub_welcome_msg(unsafe.Pointer(s.zsockT), cVal)
}
func (s *Sock) SetStreamNotify(val int) {
	C.zsock_set_stream_notify(unsafe.Pointer(s.zsockT), C.int(val))
}
func (s *Sock) SetInvertMatching(val int) {
	C.zsock_set_invert_matching(unsafe.Pointer(s.zsockT), C.int(val))
}
func (s *Sock) InvertMatching() int {
	val := C.zsock_invert_matching(unsafe.Pointer(s.zsockT))
	return int(val)
}
func (s *Sock) SetXPubVerboser(val int) {
	C.zsock_set_xpub_verboser(unsafe.Pointer(s.zsockT), C.int(val))
}
func (s *Sock) SetConnectTimeout(val int) {
	C.zsock_set_connect_timeout(unsafe.Pointer(s.zsockT), C.int(val))
}
func (s *Sock) ConnectTimeout() int {
	val := C.zsock_connect_timeout(unsafe.Pointer(s.zsockT))
	return int(val)
}
func (s *Sock) SetTcpMaxrt(val int) {
	C.zsock_set_tcp_maxrt(unsafe.Pointer(s.zsockT), C.int(val))
}
func (s *Sock) TcpMaxrt() int {
	val := C.zsock_tcp_maxrt(unsafe.Pointer(s.zsockT))
	return int(val)
}
func (s *Sock) ThreadSafe() int {
	val := C.zsock_thread_safe(unsafe.Pointer(s.zsockT))
	return int(val)
}
func (s *Sock) SetMulticastMaxtpdu(val int) {
	C.zsock_set_multicast_maxtpdu(unsafe.Pointer(s.zsockT), C.int(val))
}
func (s *Sock) MulticastMaxtpdu() int {
	val := C.zsock_multicast_maxtpdu(unsafe.Pointer(s.zsockT))
	return int(val)
}
func (s *Sock) SetVmciBufferSize(val int) {
	C.zsock_set_vmci_buffer_size(unsafe.Pointer(s.zsockT), C.int(val))
}
func (s *Sock) VmciBufferSize() int {
	val := C.zsock_vmci_buffer_size(unsafe.Pointer(s.zsockT))
	return int(val)
}
func (s *Sock) SetVmciBufferMinSize(val int) {
	C.zsock_set_vmci_buffer_min_size(unsafe.Pointer(s.zsockT), C.int(val))
}
func (s *Sock) VmciBufferMinSize() int {
	val := C.zsock_vmci_buffer_min_size(unsafe.Pointer(s.zsockT))
	return int(val)
}
func (s *Sock) SetVmciBufferMaxSize(val int) {
	C.zsock_set_vmci_buffer_max_size(unsafe.Pointer(s.zsockT), C.int(val))
}
func (s *Sock) VmciBufferMaxSize() int {
	val := C.zsock_vmci_buffer_max_size(unsafe.Pointer(s.zsockT))
	return int(val)
}
func (s *Sock) SetVmciConnectTimeout(val int) {
	C.zsock_set_vmci_connect_timeout(unsafe.Pointer(s.zsockT), C.int(val))
}
func (s *Sock) VmciConnectTimeout() int {
	val := C.zsock_vmci_connect_timeout(unsafe.Pointer(s.zsockT))
	return int(val)
}
func (s *Sock) SetTos(val int) {
	C.zsock_set_tos(unsafe.Pointer(s.zsockT), C.int(val))
}
func (s *Sock) Tos() int {
	val := C.zsock_tos(unsafe.Pointer(s.zsockT))
	return int(val)
}
func (s *Sock) SetRouterHandover(val int) {
	C.zsock_set_router_handover(unsafe.Pointer(s.zsockT), C.int(val))
}
func (s *Sock) SetConnectRid(val string) {
	cVal := C.CString(val)
	defer C.free(unsafe.Pointer(cVal))
	C.zsock_set_connect_rid(unsafe.Pointer(s.zsockT), cVal)
}
func (s *Sock) SetHandshakeIvl(val int) {
	C.zsock_set_handshake_ivl(unsafe.Pointer(s.zsockT), C.int(val))
}
func (s *Sock) HandshakeIvl() int {
	val := C.zsock_handshake_ivl(unsafe.Pointer(s.zsockT))
	return int(val)
}
func (s *Sock) SetSocksProxy(val string) {
	cVal := C.CString(val)
	defer C.free(unsafe.Pointer(cVal))
	C.zsock_set_socks_proxy(unsafe.Pointer(s.zsockT), cVal)
}
func (s *Sock) SocksProxy() string {
	val := C.zsock_socks_proxy(unsafe.Pointer(s.zsockT))
	return C.GoString(val)
}
func (s *Sock) SetXPubNodrop(val int) {
	C.zsock_set_xpub_nodrop(unsafe.Pointer(s.zsockT), C.int(val))
}
func (s *Sock) SetRouterMandatory(val int) {
	C.zsock_set_router_mandatory(unsafe.Pointer(s.zsockT), C.int(val))
}
func (s *Sock) SetProbeRouter(val int) {
	C.zsock_set_probe_router(unsafe.Pointer(s.zsockT), C.int(val))
}
func (s *Sock) SetReqRelaxed(val int) {
	C.zsock_set_req_relaxed(unsafe.Pointer(s.zsockT), C.int(val))
}
func (s *Sock) SetReqCorrelate(val int) {
	C.zsock_set_req_correlate(unsafe.Pointer(s.zsockT), C.int(val))
}
func (s *Sock) SetConflate(val int) {
	C.zsock_set_conflate(unsafe.Pointer(s.zsockT), C.int(val))
}
func (s *Sock) SetZapDomain(val string) {
	cVal := C.CString(val)
	defer C.free(unsafe.Pointer(cVal))
	C.zsock_set_zap_domain(unsafe.Pointer(s.zsockT), cVal)
}
func (s *Sock) ZapDomain() string {
	val := C.zsock_zap_domain(unsafe.Pointer(s.zsockT))
	return C.GoString(val)
}
func (s *Sock) Mechanism() int {
	val := C.zsock_mechanism(unsafe.Pointer(s.zsockT))
	return int(val)
}
func (s *Sock) SetPlainServer(val int) {
	C.zsock_set_plain_server(unsafe.Pointer(s.zsockT), C.int(val))
}
func (s *Sock) PlainServer() int {
	val := C.zsock_plain_server(unsafe.Pointer(s.zsockT))
	return int(val)
}
func (s *Sock) SetPlainUsername(val string) {
	cVal := C.CString(val)
	defer C.free(unsafe.Pointer(cVal))
	C.zsock_set_plain_username(unsafe.Pointer(s.zsockT), cVal)
}
func (s *Sock) PlainUsername() string {
	val := C.zsock_plain_username(unsafe.Pointer(s.zsockT))
	return C.GoString(val)
}
func (s *Sock) SetPlainPassword(val string) {
	cVal := C.CString(val)
	defer C.free(unsafe.Pointer(cVal))
	C.zsock_set_plain_password(unsafe.Pointer(s.zsockT), cVal)
}
func (s *Sock) PlainPassword() string {
	val := C.zsock_plain_password(unsafe.Pointer(s.zsockT))
	return C.GoString(val)
}
func (s *Sock) SetCurveServer(val int) {
	C.zsock_set_curve_server(unsafe.Pointer(s.zsockT), C.int(val))
}
func (s *Sock) CurveServer() int {
	val := C.zsock_curve_server(unsafe.Pointer(s.zsockT))
	return int(val)
}
func (s *Sock) SetCurvePublickey(val string) {
	cVal := C.CString(val)
	defer C.free(unsafe.Pointer(cVal))
	C.zsock_set_curve_publickey(unsafe.Pointer(s.zsockT), cVal)
}
func (s *Sock) CurvePublickey() string {
	val := C.zsock_curve_publickey(unsafe.Pointer(s.zsockT))
	return C.GoString(val)
}
func (s *Sock) SetCurveSecretkey(val string) {
	cVal := C.CString(val)
	defer C.free(unsafe.Pointer(cVal))
	C.zsock_set_curve_secretkey(unsafe.Pointer(s.zsockT), cVal)
}
func (s *Sock) CurveSecretkey() string {
	val := C.zsock_curve_secretkey(unsafe.Pointer(s.zsockT))
	return C.GoString(val)
}
func (s *Sock) SetCurveServerkey(val string) {
	cVal := C.CString(val)
	defer C.free(unsafe.Pointer(cVal))
	C.zsock_set_curve_serverkey(unsafe.Pointer(s.zsockT), cVal)
}
func (s *Sock) CurveServerkey() string {
	val := C.zsock_curve_serverkey(unsafe.Pointer(s.zsockT))
	return C.GoString(val)
}
func (s *Sock) SetGssapiServer(val int) {
	C.zsock_set_gssapi_server(unsafe.Pointer(s.zsockT), C.int(val))
}
func (s *Sock) GssapiServer() int {
	val := C.zsock_gssapi_server(unsafe.Pointer(s.zsockT))
	return int(val)
}
func (s *Sock) SetGssapiPlaintext(val int) {
	C.zsock_set_gssapi_plaintext(unsafe.Pointer(s.zsockT), C.int(val))
}
func (s *Sock) GssapiPlaintext() int {
	val := C.zsock_gssapi_plaintext(unsafe.Pointer(s.zsockT))
	return int(val)
}
func (s *Sock) SetGssapiPrincipal(val string) {
	cVal := C.CString(val)
	defer C.free(unsafe.Pointer(cVal))
	C.zsock_set_gssapi_principal(unsafe.Pointer(s.zsockT), cVal)
}