PageRenderTime 32ms CodeModel.GetById 25ms RepoModel.GetById 0ms app.codeStats 0ms

/src/zsockopt.c

https://github.com/jricher42/czmq
C | 3883 lines | 2723 code | 570 blank | 590 comment | 707 complexity | 8d354f2b6f9a7ae9e5150d43fd8c01ed MD5 | raw file
Possible License(s): MPL-2.0-no-copyleft-exception
  1. /* =========================================================================
  2. zsockopt - get/set 0MQ socket options
  3. ****************************************************
  4. * GENERATED SOURCE CODE, DO NOT EDIT!! *
  5. * TO CHANGE THIS, EDIT scripts/sockopts.gsl *
  6. * AND RUN ./generate in models/. *
  7. ****************************************************
  8. Copyright (c) the Contributors as noted in the AUTHORS file.
  9. This file is part of CZMQ, the high-level C binding for 0MQ:
  10. http://czmq.zeromq.org.
  11. This Source Code Form is subject to the terms of the Mozilla Public
  12. License, v. 2.0. If a copy of the MPL was not distributed with this
  13. file, You can obtain one at http://mozilla.org/MPL/2.0/.
  14. =========================================================================
  15. */
  16. /*
  17. @header
  18. The zsockopt class provides access to the 0MQ getsockopt/setsockopt API.
  19. @discuss
  20. This class is generated, using the GSL code generator. See the sockopts
  21. XML file, which provides the metadata, and the zsockopt.gsl template,
  22. which does the work.
  23. @end
  24. */
  25. #include "../include/czmq.h"
  26. #include "platform.h"
  27. #if (ZMQ_VERSION_MAJOR == 4)
  28. // --------------------------------------------------------------------------
  29. // Set socket ZMQ_TOS value
  30. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  31. void
  32. zsocket_set_tos (void *zocket, int tos)
  33. {
  34. # if defined (ZMQ_TOS)
  35. int rc = zmq_setsockopt (zocket, ZMQ_TOS, &tos, sizeof (int));
  36. assert (rc == 0 || zmq_errno () == ETERM);
  37. # endif
  38. }
  39. // --------------------------------------------------------------------------
  40. // Return socket ZMQ_TOS value
  41. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  42. int
  43. zsocket_tos (void *zocket)
  44. {
  45. # if defined (ZMQ_TOS)
  46. int tos;
  47. size_t option_len = sizeof (int);
  48. zmq_getsockopt (zocket, ZMQ_TOS, &tos, &option_len);
  49. return tos;
  50. # else
  51. return 0;
  52. # endif
  53. }
  54. // --------------------------------------------------------------------------
  55. // Set socket ZMQ_ROUTER_HANDOVER value
  56. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  57. void
  58. zsocket_set_router_handover (void *zocket, int router_handover)
  59. {
  60. # if defined (ZMQ_ROUTER_HANDOVER)
  61. if (zsocket_type (zocket) != ZMQ_ROUTER) {
  62. printf ("ZMQ_ROUTER_HANDOVER is not valid on %s sockets\n", zsocket_type_str (zocket));
  63. assert (false);
  64. }
  65. int rc = zmq_setsockopt (zocket, ZMQ_ROUTER_HANDOVER, &router_handover, sizeof (int));
  66. assert (rc == 0 || zmq_errno () == ETERM);
  67. # endif
  68. }
  69. // --------------------------------------------------------------------------
  70. // Set socket ZMQ_ROUTER_MANDATORY value
  71. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  72. void
  73. zsocket_set_router_mandatory (void *zocket, int router_mandatory)
  74. {
  75. # if defined (ZMQ_ROUTER_MANDATORY)
  76. if (zsocket_type (zocket) != ZMQ_ROUTER) {
  77. printf ("ZMQ_ROUTER_MANDATORY is not valid on %s sockets\n", zsocket_type_str (zocket));
  78. assert (false);
  79. }
  80. int rc = zmq_setsockopt (zocket, ZMQ_ROUTER_MANDATORY, &router_mandatory, sizeof (int));
  81. assert (rc == 0 || zmq_errno () == ETERM);
  82. # endif
  83. }
  84. // --------------------------------------------------------------------------
  85. // Set socket ZMQ_PROBE_ROUTER value
  86. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  87. void
  88. zsocket_set_probe_router (void *zocket, int probe_router)
  89. {
  90. # if defined (ZMQ_PROBE_ROUTER)
  91. if (zsocket_type (zocket) != ZMQ_ROUTER
  92. && zsocket_type (zocket) != ZMQ_DEALER
  93. && zsocket_type (zocket) != ZMQ_REQ) {
  94. printf ("ZMQ_PROBE_ROUTER is not valid on %s sockets\n", zsocket_type_str (zocket));
  95. assert (false);
  96. }
  97. int rc = zmq_setsockopt (zocket, ZMQ_PROBE_ROUTER, &probe_router, sizeof (int));
  98. assert (rc == 0 || zmq_errno () == ETERM);
  99. # endif
  100. }
  101. // --------------------------------------------------------------------------
  102. // Set socket ZMQ_REQ_RELAXED value
  103. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  104. void
  105. zsocket_set_req_relaxed (void *zocket, int req_relaxed)
  106. {
  107. # if defined (ZMQ_REQ_RELAXED)
  108. if (zsocket_type (zocket) != ZMQ_REQ) {
  109. printf ("ZMQ_REQ_RELAXED is not valid on %s sockets\n", zsocket_type_str (zocket));
  110. assert (false);
  111. }
  112. int rc = zmq_setsockopt (zocket, ZMQ_REQ_RELAXED, &req_relaxed, sizeof (int));
  113. assert (rc == 0 || zmq_errno () == ETERM);
  114. # endif
  115. }
  116. // --------------------------------------------------------------------------
  117. // Set socket ZMQ_REQ_CORRELATE value
  118. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  119. void
  120. zsocket_set_req_correlate (void *zocket, int req_correlate)
  121. {
  122. # if defined (ZMQ_REQ_CORRELATE)
  123. if (zsocket_type (zocket) != ZMQ_REQ) {
  124. printf ("ZMQ_REQ_CORRELATE is not valid on %s sockets\n", zsocket_type_str (zocket));
  125. assert (false);
  126. }
  127. int rc = zmq_setsockopt (zocket, ZMQ_REQ_CORRELATE, &req_correlate, sizeof (int));
  128. assert (rc == 0 || zmq_errno () == ETERM);
  129. # endif
  130. }
  131. // --------------------------------------------------------------------------
  132. // Set socket ZMQ_CONFLATE value
  133. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  134. void
  135. zsocket_set_conflate (void *zocket, int conflate)
  136. {
  137. # if defined (ZMQ_CONFLATE)
  138. if (zsocket_type (zocket) != ZMQ_PUSH
  139. && zsocket_type (zocket) != ZMQ_PULL
  140. && zsocket_type (zocket) != ZMQ_PUB
  141. && zsocket_type (zocket) != ZMQ_SUB
  142. && zsocket_type (zocket) != ZMQ_DEALER) {
  143. printf ("ZMQ_CONFLATE is not valid on %s sockets\n", zsocket_type_str (zocket));
  144. assert (false);
  145. }
  146. int rc = zmq_setsockopt (zocket, ZMQ_CONFLATE, &conflate, sizeof (int));
  147. assert (rc == 0 || zmq_errno () == ETERM);
  148. # endif
  149. }
  150. // --------------------------------------------------------------------------
  151. // Set socket ZMQ_ZAP_DOMAIN value
  152. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  153. void
  154. zsocket_set_zap_domain (void *zocket, const char * zap_domain)
  155. {
  156. # if defined (ZMQ_ZAP_DOMAIN)
  157. int rc = zmq_setsockopt (zocket, ZMQ_ZAP_DOMAIN, zap_domain, strlen (zap_domain));
  158. assert (rc == 0 || zmq_errno () == ETERM);
  159. # endif
  160. }
  161. // --------------------------------------------------------------------------
  162. // Return socket ZMQ_ZAP_DOMAIN value
  163. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  164. char *
  165. zsocket_zap_domain (void *zocket)
  166. {
  167. # if defined (ZMQ_ZAP_DOMAIN)
  168. size_t option_len = 255;
  169. char *zap_domain = (char *) zmalloc (option_len);
  170. zmq_getsockopt (zocket, ZMQ_ZAP_DOMAIN, zap_domain, &option_len);
  171. return (char *) zap_domain;
  172. # else
  173. return NULL;
  174. # endif
  175. }
  176. // --------------------------------------------------------------------------
  177. // Return socket ZMQ_MECHANISM value
  178. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  179. int
  180. zsocket_mechanism (void *zocket)
  181. {
  182. # if defined (ZMQ_MECHANISM)
  183. int mechanism;
  184. size_t option_len = sizeof (int);
  185. zmq_getsockopt (zocket, ZMQ_MECHANISM, &mechanism, &option_len);
  186. return mechanism;
  187. # else
  188. return 0;
  189. # endif
  190. }
  191. // --------------------------------------------------------------------------
  192. // Set socket ZMQ_PLAIN_SERVER value
  193. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  194. void
  195. zsocket_set_plain_server (void *zocket, int plain_server)
  196. {
  197. # if defined (ZMQ_PLAIN_SERVER)
  198. int rc = zmq_setsockopt (zocket, ZMQ_PLAIN_SERVER, &plain_server, sizeof (int));
  199. assert (rc == 0 || zmq_errno () == ETERM);
  200. # endif
  201. }
  202. // --------------------------------------------------------------------------
  203. // Return socket ZMQ_PLAIN_SERVER value
  204. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  205. int
  206. zsocket_plain_server (void *zocket)
  207. {
  208. # if defined (ZMQ_PLAIN_SERVER)
  209. int plain_server;
  210. size_t option_len = sizeof (int);
  211. zmq_getsockopt (zocket, ZMQ_PLAIN_SERVER, &plain_server, &option_len);
  212. return plain_server;
  213. # else
  214. return 0;
  215. # endif
  216. }
  217. // --------------------------------------------------------------------------
  218. // Set socket ZMQ_PLAIN_USERNAME value
  219. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  220. void
  221. zsocket_set_plain_username (void *zocket, const char * plain_username)
  222. {
  223. # if defined (ZMQ_PLAIN_USERNAME)
  224. int rc = zmq_setsockopt (zocket, ZMQ_PLAIN_USERNAME, plain_username, strlen (plain_username));
  225. assert (rc == 0 || zmq_errno () == ETERM);
  226. # endif
  227. }
  228. // --------------------------------------------------------------------------
  229. // Return socket ZMQ_PLAIN_USERNAME value
  230. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  231. char *
  232. zsocket_plain_username (void *zocket)
  233. {
  234. # if defined (ZMQ_PLAIN_USERNAME)
  235. size_t option_len = 255;
  236. char *plain_username = (char *) zmalloc (option_len);
  237. zmq_getsockopt (zocket, ZMQ_PLAIN_USERNAME, plain_username, &option_len);
  238. return (char *) plain_username;
  239. # else
  240. return NULL;
  241. # endif
  242. }
  243. // --------------------------------------------------------------------------
  244. // Set socket ZMQ_PLAIN_PASSWORD value
  245. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  246. void
  247. zsocket_set_plain_password (void *zocket, const char * plain_password)
  248. {
  249. # if defined (ZMQ_PLAIN_PASSWORD)
  250. int rc = zmq_setsockopt (zocket, ZMQ_PLAIN_PASSWORD, plain_password, strlen (plain_password));
  251. assert (rc == 0 || zmq_errno () == ETERM);
  252. # endif
  253. }
  254. // --------------------------------------------------------------------------
  255. // Return socket ZMQ_PLAIN_PASSWORD value
  256. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  257. char *
  258. zsocket_plain_password (void *zocket)
  259. {
  260. # if defined (ZMQ_PLAIN_PASSWORD)
  261. size_t option_len = 255;
  262. char *plain_password = (char *) zmalloc (option_len);
  263. zmq_getsockopt (zocket, ZMQ_PLAIN_PASSWORD, plain_password, &option_len);
  264. return (char *) plain_password;
  265. # else
  266. return NULL;
  267. # endif
  268. }
  269. // --------------------------------------------------------------------------
  270. // Set socket ZMQ_CURVE_SERVER value
  271. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  272. void
  273. zsocket_set_curve_server (void *zocket, int curve_server)
  274. {
  275. # if defined (ZMQ_CURVE_SERVER)
  276. int rc = zmq_setsockopt (zocket, ZMQ_CURVE_SERVER, &curve_server, sizeof (int));
  277. assert (rc == 0 || zmq_errno () == ETERM);
  278. # endif
  279. }
  280. // --------------------------------------------------------------------------
  281. // Return socket ZMQ_CURVE_SERVER value
  282. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  283. int
  284. zsocket_curve_server (void *zocket)
  285. {
  286. # if defined (ZMQ_CURVE_SERVER)
  287. int curve_server;
  288. size_t option_len = sizeof (int);
  289. zmq_getsockopt (zocket, ZMQ_CURVE_SERVER, &curve_server, &option_len);
  290. return curve_server;
  291. # else
  292. return 0;
  293. # endif
  294. }
  295. // --------------------------------------------------------------------------
  296. // Set socket ZMQ_CURVE_PUBLICKEY value
  297. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  298. void
  299. zsocket_set_curve_publickey (void *zocket, const char * curve_publickey)
  300. {
  301. # if defined (ZMQ_CURVE_PUBLICKEY)
  302. int rc = zmq_setsockopt (zocket, ZMQ_CURVE_PUBLICKEY, curve_publickey, strlen (curve_publickey));
  303. assert (rc == 0 || zmq_errno () == ETERM);
  304. # endif
  305. }
  306. // --------------------------------------------------------------------------
  307. // Set socket ZMQ_CURVE_PUBLICKEY value from 32-octet binary
  308. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  309. void
  310. zsocket_set_curve_publickey_bin (void *zocket, const byte *curve_publickey)
  311. {
  312. # if defined (ZMQ_CURVE_PUBLICKEY)
  313. int rc = zmq_setsockopt (zocket, ZMQ_CURVE_PUBLICKEY, curve_publickey, 32);
  314. assert (rc == 0 || zmq_errno () == ETERM);
  315. # endif
  316. }
  317. // --------------------------------------------------------------------------
  318. // Return socket ZMQ_CURVE_PUBLICKEY value
  319. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  320. char *
  321. zsocket_curve_publickey (void *zocket)
  322. {
  323. # if defined (ZMQ_CURVE_PUBLICKEY)
  324. size_t option_len = 40 + 1; // Z85 key + terminator
  325. char *curve_publickey = (char *) zmalloc (option_len);
  326. zmq_getsockopt (zocket, ZMQ_CURVE_PUBLICKEY, curve_publickey, &option_len);
  327. return (char *) curve_publickey;
  328. # else
  329. return NULL;
  330. # endif
  331. }
  332. // --------------------------------------------------------------------------
  333. // Set socket ZMQ_CURVE_SECRETKEY value
  334. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  335. void
  336. zsocket_set_curve_secretkey (void *zocket, const char * curve_secretkey)
  337. {
  338. # if defined (ZMQ_CURVE_SECRETKEY)
  339. int rc = zmq_setsockopt (zocket, ZMQ_CURVE_SECRETKEY, curve_secretkey, strlen (curve_secretkey));
  340. assert (rc == 0 || zmq_errno () == ETERM);
  341. # endif
  342. }
  343. // --------------------------------------------------------------------------
  344. // Set socket ZMQ_CURVE_SECRETKEY value from 32-octet binary
  345. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  346. void
  347. zsocket_set_curve_secretkey_bin (void *zocket, const byte *curve_secretkey)
  348. {
  349. # if defined (ZMQ_CURVE_SECRETKEY)
  350. int rc = zmq_setsockopt (zocket, ZMQ_CURVE_SECRETKEY, curve_secretkey, 32);
  351. assert (rc == 0 || zmq_errno () == ETERM);
  352. # endif
  353. }
  354. // --------------------------------------------------------------------------
  355. // Return socket ZMQ_CURVE_SECRETKEY value
  356. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  357. char *
  358. zsocket_curve_secretkey (void *zocket)
  359. {
  360. # if defined (ZMQ_CURVE_SECRETKEY)
  361. size_t option_len = 40 + 1; // Z85 key + terminator
  362. char *curve_secretkey = (char *) zmalloc (option_len);
  363. zmq_getsockopt (zocket, ZMQ_CURVE_SECRETKEY, curve_secretkey, &option_len);
  364. return (char *) curve_secretkey;
  365. # else
  366. return NULL;
  367. # endif
  368. }
  369. // --------------------------------------------------------------------------
  370. // Set socket ZMQ_CURVE_SERVERKEY value
  371. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  372. void
  373. zsocket_set_curve_serverkey (void *zocket, const char * curve_serverkey)
  374. {
  375. # if defined (ZMQ_CURVE_SERVERKEY)
  376. int rc = zmq_setsockopt (zocket, ZMQ_CURVE_SERVERKEY, curve_serverkey, strlen (curve_serverkey));
  377. assert (rc == 0 || zmq_errno () == ETERM);
  378. # endif
  379. }
  380. // --------------------------------------------------------------------------
  381. // Set socket ZMQ_CURVE_SERVERKEY value from 32-octet binary
  382. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  383. void
  384. zsocket_set_curve_serverkey_bin (void *zocket, const byte *curve_serverkey)
  385. {
  386. # if defined (ZMQ_CURVE_SERVERKEY)
  387. int rc = zmq_setsockopt (zocket, ZMQ_CURVE_SERVERKEY, curve_serverkey, 32);
  388. assert (rc == 0 || zmq_errno () == ETERM);
  389. # endif
  390. }
  391. // --------------------------------------------------------------------------
  392. // Return socket ZMQ_CURVE_SERVERKEY value
  393. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  394. char *
  395. zsocket_curve_serverkey (void *zocket)
  396. {
  397. # if defined (ZMQ_CURVE_SERVERKEY)
  398. size_t option_len = 40 + 1; // Z85 key + terminator
  399. char *curve_serverkey = (char *) zmalloc (option_len);
  400. zmq_getsockopt (zocket, ZMQ_CURVE_SERVERKEY, curve_serverkey, &option_len);
  401. return (char *) curve_serverkey;
  402. # else
  403. return NULL;
  404. # endif
  405. }
  406. // --------------------------------------------------------------------------
  407. // Set socket ZMQ_GSSAPI_SERVER value
  408. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  409. void
  410. zsocket_set_gssapi_server (void *zocket, int gssapi_server)
  411. {
  412. # if defined (ZMQ_GSSAPI_SERVER)
  413. int rc = zmq_setsockopt (zocket, ZMQ_GSSAPI_SERVER, &gssapi_server, sizeof (int));
  414. assert (rc == 0 || zmq_errno () == ETERM);
  415. # endif
  416. }
  417. // --------------------------------------------------------------------------
  418. // Return socket ZMQ_GSSAPI_SERVER value
  419. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  420. int
  421. zsocket_gssapi_server (void *zocket)
  422. {
  423. # if defined (ZMQ_GSSAPI_SERVER)
  424. int gssapi_server;
  425. size_t option_len = sizeof (int);
  426. zmq_getsockopt (zocket, ZMQ_GSSAPI_SERVER, &gssapi_server, &option_len);
  427. return gssapi_server;
  428. # else
  429. return 0;
  430. # endif
  431. }
  432. // --------------------------------------------------------------------------
  433. // Set socket ZMQ_GSSAPI_PLAINTEXT value
  434. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  435. void
  436. zsocket_set_gssapi_plaintext (void *zocket, int gssapi_plaintext)
  437. {
  438. # if defined (ZMQ_GSSAPI_PLAINTEXT)
  439. int rc = zmq_setsockopt (zocket, ZMQ_GSSAPI_PLAINTEXT, &gssapi_plaintext, sizeof (int));
  440. assert (rc == 0 || zmq_errno () == ETERM);
  441. # endif
  442. }
  443. // --------------------------------------------------------------------------
  444. // Return socket ZMQ_GSSAPI_PLAINTEXT value
  445. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  446. int
  447. zsocket_gssapi_plaintext (void *zocket)
  448. {
  449. # if defined (ZMQ_GSSAPI_PLAINTEXT)
  450. int gssapi_plaintext;
  451. size_t option_len = sizeof (int);
  452. zmq_getsockopt (zocket, ZMQ_GSSAPI_PLAINTEXT, &gssapi_plaintext, &option_len);
  453. return gssapi_plaintext;
  454. # else
  455. return 0;
  456. # endif
  457. }
  458. // --------------------------------------------------------------------------
  459. // Set socket ZMQ_GSSAPI_PRINCIPAL value
  460. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  461. void
  462. zsocket_set_gssapi_principal (void *zocket, const char * gssapi_principal)
  463. {
  464. # if defined (ZMQ_GSSAPI_PRINCIPAL)
  465. int rc = zmq_setsockopt (zocket, ZMQ_GSSAPI_PRINCIPAL, gssapi_principal, strlen (gssapi_principal));
  466. assert (rc == 0 || zmq_errno () == ETERM);
  467. # endif
  468. }
  469. // --------------------------------------------------------------------------
  470. // Return socket ZMQ_GSSAPI_PRINCIPAL value
  471. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  472. char *
  473. zsocket_gssapi_principal (void *zocket)
  474. {
  475. # if defined (ZMQ_GSSAPI_PRINCIPAL)
  476. size_t option_len = 255;
  477. char *gssapi_principal = (char *) zmalloc (option_len);
  478. zmq_getsockopt (zocket, ZMQ_GSSAPI_PRINCIPAL, gssapi_principal, &option_len);
  479. return (char *) gssapi_principal;
  480. # else
  481. return NULL;
  482. # endif
  483. }
  484. // --------------------------------------------------------------------------
  485. // Set socket ZMQ_GSSAPI_SERVICE_PRINCIPAL value
  486. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  487. void
  488. zsocket_set_gssapi_service_principal (void *zocket, const char * gssapi_service_principal)
  489. {
  490. # if defined (ZMQ_GSSAPI_SERVICE_PRINCIPAL)
  491. int rc = zmq_setsockopt (zocket, ZMQ_GSSAPI_SERVICE_PRINCIPAL, gssapi_service_principal, strlen (gssapi_service_principal));
  492. assert (rc == 0 || zmq_errno () == ETERM);
  493. # endif
  494. }
  495. // --------------------------------------------------------------------------
  496. // Return socket ZMQ_GSSAPI_SERVICE_PRINCIPAL value
  497. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  498. char *
  499. zsocket_gssapi_service_principal (void *zocket)
  500. {
  501. # if defined (ZMQ_GSSAPI_SERVICE_PRINCIPAL)
  502. size_t option_len = 255;
  503. char *gssapi_service_principal = (char *) zmalloc (option_len);
  504. zmq_getsockopt (zocket, ZMQ_GSSAPI_SERVICE_PRINCIPAL, gssapi_service_principal, &option_len);
  505. return (char *) gssapi_service_principal;
  506. # else
  507. return NULL;
  508. # endif
  509. }
  510. // --------------------------------------------------------------------------
  511. // Set socket ZMQ_IPV6 value
  512. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  513. void
  514. zsocket_set_ipv6 (void *zocket, int ipv6)
  515. {
  516. # if defined (ZMQ_IPV6)
  517. int rc = zmq_setsockopt (zocket, ZMQ_IPV6, &ipv6, sizeof (int));
  518. assert (rc == 0 || zmq_errno () == ETERM);
  519. # endif
  520. }
  521. // --------------------------------------------------------------------------
  522. // Return socket ZMQ_IPV6 value
  523. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  524. int
  525. zsocket_ipv6 (void *zocket)
  526. {
  527. # if defined (ZMQ_IPV6)
  528. int ipv6;
  529. size_t option_len = sizeof (int);
  530. zmq_getsockopt (zocket, ZMQ_IPV6, &ipv6, &option_len);
  531. return ipv6;
  532. # else
  533. return 0;
  534. # endif
  535. }
  536. // --------------------------------------------------------------------------
  537. // Set socket ZMQ_IMMEDIATE value
  538. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  539. void
  540. zsocket_set_immediate (void *zocket, int immediate)
  541. {
  542. # if defined (ZMQ_IMMEDIATE)
  543. int rc = zmq_setsockopt (zocket, ZMQ_IMMEDIATE, &immediate, sizeof (int));
  544. assert (rc == 0 || zmq_errno () == ETERM);
  545. # endif
  546. }
  547. // --------------------------------------------------------------------------
  548. // Return socket ZMQ_IMMEDIATE value
  549. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  550. int
  551. zsocket_immediate (void *zocket)
  552. {
  553. # if defined (ZMQ_IMMEDIATE)
  554. int immediate;
  555. size_t option_len = sizeof (int);
  556. zmq_getsockopt (zocket, ZMQ_IMMEDIATE, &immediate, &option_len);
  557. return immediate;
  558. # else
  559. return 0;
  560. # endif
  561. }
  562. // --------------------------------------------------------------------------
  563. // Set socket ZMQ_ROUTER_RAW value
  564. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  565. void
  566. zsocket_set_router_raw (void *zocket, int router_raw)
  567. {
  568. # if defined (ZMQ_ROUTER_RAW)
  569. if (zsocket_type (zocket) != ZMQ_ROUTER) {
  570. printf ("ZMQ_ROUTER_RAW is not valid on %s sockets\n", zsocket_type_str (zocket));
  571. assert (false);
  572. }
  573. int rc = zmq_setsockopt (zocket, ZMQ_ROUTER_RAW, &router_raw, sizeof (int));
  574. assert (rc == 0 || zmq_errno () == ETERM);
  575. # endif
  576. }
  577. // --------------------------------------------------------------------------
  578. // Set socket ZMQ_IPV4ONLY value
  579. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  580. void
  581. zsocket_set_ipv4only (void *zocket, int ipv4only)
  582. {
  583. # if defined (ZMQ_IPV4ONLY)
  584. int rc = zmq_setsockopt (zocket, ZMQ_IPV4ONLY, &ipv4only, sizeof (int));
  585. assert (rc == 0 || zmq_errno () == ETERM);
  586. # endif
  587. }
  588. // --------------------------------------------------------------------------
  589. // Return socket ZMQ_IPV4ONLY value
  590. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  591. int
  592. zsocket_ipv4only (void *zocket)
  593. {
  594. # if defined (ZMQ_IPV4ONLY)
  595. int ipv4only;
  596. size_t option_len = sizeof (int);
  597. zmq_getsockopt (zocket, ZMQ_IPV4ONLY, &ipv4only, &option_len);
  598. return ipv4only;
  599. # else
  600. return 0;
  601. # endif
  602. }
  603. // --------------------------------------------------------------------------
  604. // Set socket ZMQ_DELAY_ATTACH_ON_CONNECT value
  605. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  606. void
  607. zsocket_set_delay_attach_on_connect (void *zocket, int delay_attach_on_connect)
  608. {
  609. # if defined (ZMQ_DELAY_ATTACH_ON_CONNECT)
  610. int rc = zmq_setsockopt (zocket, ZMQ_DELAY_ATTACH_ON_CONNECT, &delay_attach_on_connect, sizeof (int));
  611. assert (rc == 0 || zmq_errno () == ETERM);
  612. # endif
  613. }
  614. // --------------------------------------------------------------------------
  615. // Return socket ZMQ_TYPE value
  616. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  617. int
  618. zsocket_type (void *zocket)
  619. {
  620. # if defined (ZMQ_TYPE)
  621. int type;
  622. size_t option_len = sizeof (int);
  623. zmq_getsockopt (zocket, ZMQ_TYPE, &type, &option_len);
  624. return type;
  625. # else
  626. return 0;
  627. # endif
  628. }
  629. // --------------------------------------------------------------------------
  630. // Set socket ZMQ_SNDHWM value
  631. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  632. void
  633. zsocket_set_sndhwm (void *zocket, int sndhwm)
  634. {
  635. # if defined (ZMQ_SNDHWM)
  636. int rc = zmq_setsockopt (zocket, ZMQ_SNDHWM, &sndhwm, sizeof (int));
  637. assert (rc == 0 || zmq_errno () == ETERM);
  638. # endif
  639. }
  640. // --------------------------------------------------------------------------
  641. // Return socket ZMQ_SNDHWM value
  642. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  643. int
  644. zsocket_sndhwm (void *zocket)
  645. {
  646. # if defined (ZMQ_SNDHWM)
  647. int sndhwm;
  648. size_t option_len = sizeof (int);
  649. zmq_getsockopt (zocket, ZMQ_SNDHWM, &sndhwm, &option_len);
  650. return sndhwm;
  651. # else
  652. return 0;
  653. # endif
  654. }
  655. // --------------------------------------------------------------------------
  656. // Set socket ZMQ_RCVHWM value
  657. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  658. void
  659. zsocket_set_rcvhwm (void *zocket, int rcvhwm)
  660. {
  661. # if defined (ZMQ_RCVHWM)
  662. int rc = zmq_setsockopt (zocket, ZMQ_RCVHWM, &rcvhwm, sizeof (int));
  663. assert (rc == 0 || zmq_errno () == ETERM);
  664. # endif
  665. }
  666. // --------------------------------------------------------------------------
  667. // Return socket ZMQ_RCVHWM value
  668. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  669. int
  670. zsocket_rcvhwm (void *zocket)
  671. {
  672. # if defined (ZMQ_RCVHWM)
  673. int rcvhwm;
  674. size_t option_len = sizeof (int);
  675. zmq_getsockopt (zocket, ZMQ_RCVHWM, &rcvhwm, &option_len);
  676. return rcvhwm;
  677. # else
  678. return 0;
  679. # endif
  680. }
  681. // --------------------------------------------------------------------------
  682. // Set socket ZMQ_AFFINITY value
  683. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  684. void
  685. zsocket_set_affinity (void *zocket, int affinity)
  686. {
  687. # if defined (ZMQ_AFFINITY)
  688. uint64_t value = affinity;
  689. int rc = zmq_setsockopt (zocket, ZMQ_AFFINITY, &value, sizeof (uint64_t));
  690. assert (rc == 0 || zmq_errno () == ETERM);
  691. # endif
  692. }
  693. // --------------------------------------------------------------------------
  694. // Return socket ZMQ_AFFINITY value
  695. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  696. int
  697. zsocket_affinity (void *zocket)
  698. {
  699. # if defined (ZMQ_AFFINITY)
  700. uint64_t affinity;
  701. size_t option_len = sizeof (uint64_t);
  702. zmq_getsockopt (zocket, ZMQ_AFFINITY, &affinity, &option_len);
  703. return (int) affinity;
  704. # else
  705. return 0;
  706. # endif
  707. }
  708. // --------------------------------------------------------------------------
  709. // Set socket ZMQ_SUBSCRIBE value
  710. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  711. void
  712. zsocket_set_subscribe (void *zocket, const char * subscribe)
  713. {
  714. # if defined (ZMQ_SUBSCRIBE)
  715. if (zsocket_type (zocket) != ZMQ_SUB) {
  716. printf ("ZMQ_SUBSCRIBE is not valid on %s sockets\n", zsocket_type_str (zocket));
  717. assert (false);
  718. }
  719. int rc = zmq_setsockopt (zocket, ZMQ_SUBSCRIBE, subscribe, strlen (subscribe));
  720. assert (rc == 0 || zmq_errno () == ETERM);
  721. # endif
  722. }
  723. // --------------------------------------------------------------------------
  724. // Set socket ZMQ_UNSUBSCRIBE value
  725. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  726. void
  727. zsocket_set_unsubscribe (void *zocket, const char * unsubscribe)
  728. {
  729. # if defined (ZMQ_UNSUBSCRIBE)
  730. if (zsocket_type (zocket) != ZMQ_SUB) {
  731. printf ("ZMQ_UNSUBSCRIBE is not valid on %s sockets\n", zsocket_type_str (zocket));
  732. assert (false);
  733. }
  734. int rc = zmq_setsockopt (zocket, ZMQ_UNSUBSCRIBE, unsubscribe, strlen (unsubscribe));
  735. assert (rc == 0 || zmq_errno () == ETERM);
  736. # endif
  737. }
  738. // --------------------------------------------------------------------------
  739. // Set socket ZMQ_IDENTITY value
  740. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  741. void
  742. zsocket_set_identity (void *zocket, const char * identity)
  743. {
  744. # if defined (ZMQ_IDENTITY)
  745. if (zsocket_type (zocket) != ZMQ_REQ
  746. && zsocket_type (zocket) != ZMQ_REP
  747. && zsocket_type (zocket) != ZMQ_DEALER
  748. && zsocket_type (zocket) != ZMQ_ROUTER) {
  749. printf ("ZMQ_IDENTITY is not valid on %s sockets\n", zsocket_type_str (zocket));
  750. assert (false);
  751. }
  752. int rc = zmq_setsockopt (zocket, ZMQ_IDENTITY, identity, strlen (identity));
  753. assert (rc == 0 || zmq_errno () == ETERM);
  754. # endif
  755. }
  756. // --------------------------------------------------------------------------
  757. // Return socket ZMQ_IDENTITY value
  758. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  759. char *
  760. zsocket_identity (void *zocket)
  761. {
  762. # if defined (ZMQ_IDENTITY)
  763. size_t option_len = 255;
  764. char *identity = (char *) zmalloc (option_len);
  765. zmq_getsockopt (zocket, ZMQ_IDENTITY, identity, &option_len);
  766. return (char *) identity;
  767. # else
  768. return NULL;
  769. # endif
  770. }
  771. // --------------------------------------------------------------------------
  772. // Set socket ZMQ_RATE value
  773. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  774. void
  775. zsocket_set_rate (void *zocket, int rate)
  776. {
  777. # if defined (ZMQ_RATE)
  778. int rc = zmq_setsockopt (zocket, ZMQ_RATE, &rate, sizeof (int));
  779. assert (rc == 0 || zmq_errno () == ETERM);
  780. # endif
  781. }
  782. // --------------------------------------------------------------------------
  783. // Return socket ZMQ_RATE value
  784. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  785. int
  786. zsocket_rate (void *zocket)
  787. {
  788. # if defined (ZMQ_RATE)
  789. int rate;
  790. size_t option_len = sizeof (int);
  791. zmq_getsockopt (zocket, ZMQ_RATE, &rate, &option_len);
  792. return rate;
  793. # else
  794. return 0;
  795. # endif
  796. }
  797. // --------------------------------------------------------------------------
  798. // Set socket ZMQ_RECOVERY_IVL value
  799. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  800. void
  801. zsocket_set_recovery_ivl (void *zocket, int recovery_ivl)
  802. {
  803. # if defined (ZMQ_RECOVERY_IVL)
  804. int rc = zmq_setsockopt (zocket, ZMQ_RECOVERY_IVL, &recovery_ivl, sizeof (int));
  805. assert (rc == 0 || zmq_errno () == ETERM);
  806. # endif
  807. }
  808. // --------------------------------------------------------------------------
  809. // Return socket ZMQ_RECOVERY_IVL value
  810. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  811. int
  812. zsocket_recovery_ivl (void *zocket)
  813. {
  814. # if defined (ZMQ_RECOVERY_IVL)
  815. int recovery_ivl;
  816. size_t option_len = sizeof (int);
  817. zmq_getsockopt (zocket, ZMQ_RECOVERY_IVL, &recovery_ivl, &option_len);
  818. return recovery_ivl;
  819. # else
  820. return 0;
  821. # endif
  822. }
  823. // --------------------------------------------------------------------------
  824. // Set socket ZMQ_SNDBUF value
  825. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  826. void
  827. zsocket_set_sndbuf (void *zocket, int sndbuf)
  828. {
  829. # if defined (ZMQ_SNDBUF)
  830. int rc = zmq_setsockopt (zocket, ZMQ_SNDBUF, &sndbuf, sizeof (int));
  831. assert (rc == 0 || zmq_errno () == ETERM);
  832. # endif
  833. }
  834. // --------------------------------------------------------------------------
  835. // Return socket ZMQ_SNDBUF value
  836. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  837. int
  838. zsocket_sndbuf (void *zocket)
  839. {
  840. # if defined (ZMQ_SNDBUF)
  841. int sndbuf;
  842. size_t option_len = sizeof (int);
  843. zmq_getsockopt (zocket, ZMQ_SNDBUF, &sndbuf, &option_len);
  844. return sndbuf;
  845. # else
  846. return 0;
  847. # endif
  848. }
  849. // --------------------------------------------------------------------------
  850. // Set socket ZMQ_RCVBUF value
  851. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  852. void
  853. zsocket_set_rcvbuf (void *zocket, int rcvbuf)
  854. {
  855. # if defined (ZMQ_RCVBUF)
  856. int rc = zmq_setsockopt (zocket, ZMQ_RCVBUF, &rcvbuf, sizeof (int));
  857. assert (rc == 0 || zmq_errno () == ETERM);
  858. # endif
  859. }
  860. // --------------------------------------------------------------------------
  861. // Return socket ZMQ_RCVBUF value
  862. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  863. int
  864. zsocket_rcvbuf (void *zocket)
  865. {
  866. # if defined (ZMQ_RCVBUF)
  867. int rcvbuf;
  868. size_t option_len = sizeof (int);
  869. zmq_getsockopt (zocket, ZMQ_RCVBUF, &rcvbuf, &option_len);
  870. return rcvbuf;
  871. # else
  872. return 0;
  873. # endif
  874. }
  875. // --------------------------------------------------------------------------
  876. // Set socket ZMQ_LINGER value
  877. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  878. void
  879. zsocket_set_linger (void *zocket, int linger)
  880. {
  881. # if defined (ZMQ_LINGER)
  882. int rc = zmq_setsockopt (zocket, ZMQ_LINGER, &linger, sizeof (int));
  883. assert (rc == 0 || zmq_errno () == ETERM);
  884. # endif
  885. }
  886. // --------------------------------------------------------------------------
  887. // Return socket ZMQ_LINGER value
  888. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  889. int
  890. zsocket_linger (void *zocket)
  891. {
  892. # if defined (ZMQ_LINGER)
  893. int linger;
  894. size_t option_len = sizeof (int);
  895. zmq_getsockopt (zocket, ZMQ_LINGER, &linger, &option_len);
  896. return linger;
  897. # else
  898. return 0;
  899. # endif
  900. }
  901. // --------------------------------------------------------------------------
  902. // Set socket ZMQ_RECONNECT_IVL value
  903. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  904. void
  905. zsocket_set_reconnect_ivl (void *zocket, int reconnect_ivl)
  906. {
  907. # if defined (ZMQ_RECONNECT_IVL)
  908. int rc = zmq_setsockopt (zocket, ZMQ_RECONNECT_IVL, &reconnect_ivl, sizeof (int));
  909. assert (rc == 0 || zmq_errno () == ETERM);
  910. # endif
  911. }
  912. // --------------------------------------------------------------------------
  913. // Return socket ZMQ_RECONNECT_IVL value
  914. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  915. int
  916. zsocket_reconnect_ivl (void *zocket)
  917. {
  918. # if defined (ZMQ_RECONNECT_IVL)
  919. int reconnect_ivl;
  920. size_t option_len = sizeof (int);
  921. zmq_getsockopt (zocket, ZMQ_RECONNECT_IVL, &reconnect_ivl, &option_len);
  922. return reconnect_ivl;
  923. # else
  924. return 0;
  925. # endif
  926. }
  927. // --------------------------------------------------------------------------
  928. // Set socket ZMQ_RECONNECT_IVL_MAX value
  929. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  930. void
  931. zsocket_set_reconnect_ivl_max (void *zocket, int reconnect_ivl_max)
  932. {
  933. # if defined (ZMQ_RECONNECT_IVL_MAX)
  934. int rc = zmq_setsockopt (zocket, ZMQ_RECONNECT_IVL_MAX, &reconnect_ivl_max, sizeof (int));
  935. assert (rc == 0 || zmq_errno () == ETERM);
  936. # endif
  937. }
  938. // --------------------------------------------------------------------------
  939. // Return socket ZMQ_RECONNECT_IVL_MAX value
  940. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  941. int
  942. zsocket_reconnect_ivl_max (void *zocket)
  943. {
  944. # if defined (ZMQ_RECONNECT_IVL_MAX)
  945. int reconnect_ivl_max;
  946. size_t option_len = sizeof (int);
  947. zmq_getsockopt (zocket, ZMQ_RECONNECT_IVL_MAX, &reconnect_ivl_max, &option_len);
  948. return reconnect_ivl_max;
  949. # else
  950. return 0;
  951. # endif
  952. }
  953. // --------------------------------------------------------------------------
  954. // Set socket ZMQ_BACKLOG value
  955. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  956. void
  957. zsocket_set_backlog (void *zocket, int backlog)
  958. {
  959. # if defined (ZMQ_BACKLOG)
  960. int rc = zmq_setsockopt (zocket, ZMQ_BACKLOG, &backlog, sizeof (int));
  961. assert (rc == 0 || zmq_errno () == ETERM);
  962. # endif
  963. }
  964. // --------------------------------------------------------------------------
  965. // Return socket ZMQ_BACKLOG value
  966. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  967. int
  968. zsocket_backlog (void *zocket)
  969. {
  970. # if defined (ZMQ_BACKLOG)
  971. int backlog;
  972. size_t option_len = sizeof (int);
  973. zmq_getsockopt (zocket, ZMQ_BACKLOG, &backlog, &option_len);
  974. return backlog;
  975. # else
  976. return 0;
  977. # endif
  978. }
  979. // --------------------------------------------------------------------------
  980. // Set socket ZMQ_MAXMSGSIZE value
  981. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  982. void
  983. zsocket_set_maxmsgsize (void *zocket, int maxmsgsize)
  984. {
  985. # if defined (ZMQ_MAXMSGSIZE)
  986. int64_t value = maxmsgsize;
  987. int rc = zmq_setsockopt (zocket, ZMQ_MAXMSGSIZE, &value, sizeof (int64_t));
  988. assert (rc == 0 || zmq_errno () == ETERM);
  989. # endif
  990. }
  991. // --------------------------------------------------------------------------
  992. // Return socket ZMQ_MAXMSGSIZE value
  993. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  994. int
  995. zsocket_maxmsgsize (void *zocket)
  996. {
  997. # if defined (ZMQ_MAXMSGSIZE)
  998. int64_t maxmsgsize;
  999. size_t option_len = sizeof (int64_t);
  1000. zmq_getsockopt (zocket, ZMQ_MAXMSGSIZE, &maxmsgsize, &option_len);
  1001. return (int) maxmsgsize;
  1002. # else
  1003. return 0;
  1004. # endif
  1005. }
  1006. // --------------------------------------------------------------------------
  1007. // Set socket ZMQ_MULTICAST_HOPS value
  1008. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1009. void
  1010. zsocket_set_multicast_hops (void *zocket, int multicast_hops)
  1011. {
  1012. # if defined (ZMQ_MULTICAST_HOPS)
  1013. int rc = zmq_setsockopt (zocket, ZMQ_MULTICAST_HOPS, &multicast_hops, sizeof (int));
  1014. assert (rc == 0 || zmq_errno () == ETERM);
  1015. # endif
  1016. }
  1017. // --------------------------------------------------------------------------
  1018. // Return socket ZMQ_MULTICAST_HOPS value
  1019. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1020. int
  1021. zsocket_multicast_hops (void *zocket)
  1022. {
  1023. # if defined (ZMQ_MULTICAST_HOPS)
  1024. int multicast_hops;
  1025. size_t option_len = sizeof (int);
  1026. zmq_getsockopt (zocket, ZMQ_MULTICAST_HOPS, &multicast_hops, &option_len);
  1027. return multicast_hops;
  1028. # else
  1029. return 0;
  1030. # endif
  1031. }
  1032. // --------------------------------------------------------------------------
  1033. // Set socket ZMQ_RCVTIMEO value
  1034. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1035. void
  1036. zsocket_set_rcvtimeo (void *zocket, int rcvtimeo)
  1037. {
  1038. # if defined (ZMQ_RCVTIMEO)
  1039. int rc = zmq_setsockopt (zocket, ZMQ_RCVTIMEO, &rcvtimeo, sizeof (int));
  1040. assert (rc == 0 || zmq_errno () == ETERM);
  1041. # endif
  1042. }
  1043. // --------------------------------------------------------------------------
  1044. // Return socket ZMQ_RCVTIMEO value
  1045. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1046. int
  1047. zsocket_rcvtimeo (void *zocket)
  1048. {
  1049. # if defined (ZMQ_RCVTIMEO)
  1050. int rcvtimeo;
  1051. size_t option_len = sizeof (int);
  1052. zmq_getsockopt (zocket, ZMQ_RCVTIMEO, &rcvtimeo, &option_len);
  1053. return rcvtimeo;
  1054. # else
  1055. return 0;
  1056. # endif
  1057. }
  1058. // --------------------------------------------------------------------------
  1059. // Set socket ZMQ_SNDTIMEO value
  1060. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1061. void
  1062. zsocket_set_sndtimeo (void *zocket, int sndtimeo)
  1063. {
  1064. # if defined (ZMQ_SNDTIMEO)
  1065. int rc = zmq_setsockopt (zocket, ZMQ_SNDTIMEO, &sndtimeo, sizeof (int));
  1066. assert (rc == 0 || zmq_errno () == ETERM);
  1067. # endif
  1068. }
  1069. // --------------------------------------------------------------------------
  1070. // Return socket ZMQ_SNDTIMEO value
  1071. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1072. int
  1073. zsocket_sndtimeo (void *zocket)
  1074. {
  1075. # if defined (ZMQ_SNDTIMEO)
  1076. int sndtimeo;
  1077. size_t option_len = sizeof (int);
  1078. zmq_getsockopt (zocket, ZMQ_SNDTIMEO, &sndtimeo, &option_len);
  1079. return sndtimeo;
  1080. # else
  1081. return 0;
  1082. # endif
  1083. }
  1084. // --------------------------------------------------------------------------
  1085. // Set socket ZMQ_XPUB_VERBOSE value
  1086. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1087. void
  1088. zsocket_set_xpub_verbose (void *zocket, int xpub_verbose)
  1089. {
  1090. # if defined (ZMQ_XPUB_VERBOSE)
  1091. if (zsocket_type (zocket) != ZMQ_XPUB) {
  1092. printf ("ZMQ_XPUB_VERBOSE is not valid on %s sockets\n", zsocket_type_str (zocket));
  1093. assert (false);
  1094. }
  1095. int rc = zmq_setsockopt (zocket, ZMQ_XPUB_VERBOSE, &xpub_verbose, sizeof (int));
  1096. assert (rc == 0 || zmq_errno () == ETERM);
  1097. # endif
  1098. }
  1099. // --------------------------------------------------------------------------
  1100. // Set socket ZMQ_TCP_KEEPALIVE value
  1101. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1102. void
  1103. zsocket_set_tcp_keepalive (void *zocket, int tcp_keepalive)
  1104. {
  1105. # if defined (ZMQ_TCP_KEEPALIVE)
  1106. int rc = zmq_setsockopt (zocket, ZMQ_TCP_KEEPALIVE, &tcp_keepalive, sizeof (int));
  1107. assert (rc == 0 || zmq_errno () == ETERM);
  1108. # endif
  1109. }
  1110. // --------------------------------------------------------------------------
  1111. // Return socket ZMQ_TCP_KEEPALIVE value
  1112. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1113. int
  1114. zsocket_tcp_keepalive (void *zocket)
  1115. {
  1116. # if defined (ZMQ_TCP_KEEPALIVE)
  1117. int tcp_keepalive;
  1118. size_t option_len = sizeof (int);
  1119. zmq_getsockopt (zocket, ZMQ_TCP_KEEPALIVE, &tcp_keepalive, &option_len);
  1120. return tcp_keepalive;
  1121. # else
  1122. return 0;
  1123. # endif
  1124. }
  1125. // --------------------------------------------------------------------------
  1126. // Set socket ZMQ_TCP_KEEPALIVE_IDLE value
  1127. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1128. void
  1129. zsocket_set_tcp_keepalive_idle (void *zocket, int tcp_keepalive_idle)
  1130. {
  1131. # if defined (ZMQ_TCP_KEEPALIVE_IDLE)
  1132. int rc = zmq_setsockopt (zocket, ZMQ_TCP_KEEPALIVE_IDLE, &tcp_keepalive_idle, sizeof (int));
  1133. assert (rc == 0 || zmq_errno () == ETERM);
  1134. # endif
  1135. }
  1136. // --------------------------------------------------------------------------
  1137. // Return socket ZMQ_TCP_KEEPALIVE_IDLE value
  1138. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1139. int
  1140. zsocket_tcp_keepalive_idle (void *zocket)
  1141. {
  1142. # if defined (ZMQ_TCP_KEEPALIVE_IDLE)
  1143. int tcp_keepalive_idle;
  1144. size_t option_len = sizeof (int);
  1145. zmq_getsockopt (zocket, ZMQ_TCP_KEEPALIVE_IDLE, &tcp_keepalive_idle, &option_len);
  1146. return tcp_keepalive_idle;
  1147. # else
  1148. return 0;
  1149. # endif
  1150. }
  1151. // --------------------------------------------------------------------------
  1152. // Set socket ZMQ_TCP_KEEPALIVE_CNT value
  1153. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1154. void
  1155. zsocket_set_tcp_keepalive_cnt (void *zocket, int tcp_keepalive_cnt)
  1156. {
  1157. # if defined (ZMQ_TCP_KEEPALIVE_CNT)
  1158. int rc = zmq_setsockopt (zocket, ZMQ_TCP_KEEPALIVE_CNT, &tcp_keepalive_cnt, sizeof (int));
  1159. assert (rc == 0 || zmq_errno () == ETERM);
  1160. # endif
  1161. }
  1162. // --------------------------------------------------------------------------
  1163. // Return socket ZMQ_TCP_KEEPALIVE_CNT value
  1164. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1165. int
  1166. zsocket_tcp_keepalive_cnt (void *zocket)
  1167. {
  1168. # if defined (ZMQ_TCP_KEEPALIVE_CNT)
  1169. int tcp_keepalive_cnt;
  1170. size_t option_len = sizeof (int);
  1171. zmq_getsockopt (zocket, ZMQ_TCP_KEEPALIVE_CNT, &tcp_keepalive_cnt, &option_len);
  1172. return tcp_keepalive_cnt;
  1173. # else
  1174. return 0;
  1175. # endif
  1176. }
  1177. // --------------------------------------------------------------------------
  1178. // Set socket ZMQ_TCP_KEEPALIVE_INTVL value
  1179. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1180. void
  1181. zsocket_set_tcp_keepalive_intvl (void *zocket, int tcp_keepalive_intvl)
  1182. {
  1183. # if defined (ZMQ_TCP_KEEPALIVE_INTVL)
  1184. int rc = zmq_setsockopt (zocket, ZMQ_TCP_KEEPALIVE_INTVL, &tcp_keepalive_intvl, sizeof (int));
  1185. assert (rc == 0 || zmq_errno () == ETERM);
  1186. # endif
  1187. }
  1188. // --------------------------------------------------------------------------
  1189. // Return socket ZMQ_TCP_KEEPALIVE_INTVL value
  1190. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1191. int
  1192. zsocket_tcp_keepalive_intvl (void *zocket)
  1193. {
  1194. # if defined (ZMQ_TCP_KEEPALIVE_INTVL)
  1195. int tcp_keepalive_intvl;
  1196. size_t option_len = sizeof (int);
  1197. zmq_getsockopt (zocket, ZMQ_TCP_KEEPALIVE_INTVL, &tcp_keepalive_intvl, &option_len);
  1198. return tcp_keepalive_intvl;
  1199. # else
  1200. return 0;
  1201. # endif
  1202. }
  1203. // --------------------------------------------------------------------------
  1204. // Set socket ZMQ_TCP_ACCEPT_FILTER value
  1205. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1206. void
  1207. zsocket_set_tcp_accept_filter (void *zocket, const char * tcp_accept_filter)
  1208. {
  1209. # if defined (ZMQ_TCP_ACCEPT_FILTER)
  1210. int rc = zmq_setsockopt (zocket, ZMQ_TCP_ACCEPT_FILTER, tcp_accept_filter, strlen (tcp_accept_filter));
  1211. assert (rc == 0 || zmq_errno () == ETERM);
  1212. # endif
  1213. }
  1214. // --------------------------------------------------------------------------
  1215. // Return socket ZMQ_TCP_ACCEPT_FILTER value
  1216. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1217. char *
  1218. zsocket_tcp_accept_filter (void *zocket)
  1219. {
  1220. # if defined (ZMQ_TCP_ACCEPT_FILTER)
  1221. size_t option_len = 255;
  1222. char *tcp_accept_filter = (char *) zmalloc (option_len);
  1223. zmq_getsockopt (zocket, ZMQ_TCP_ACCEPT_FILTER, tcp_accept_filter, &option_len);
  1224. return (char *) tcp_accept_filter;
  1225. # else
  1226. return NULL;
  1227. # endif
  1228. }
  1229. // --------------------------------------------------------------------------
  1230. // Return socket ZMQ_RCVMORE value
  1231. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1232. int
  1233. zsocket_rcvmore (void *zocket)
  1234. {
  1235. # if defined (ZMQ_RCVMORE)
  1236. int rcvmore;
  1237. size_t option_len = sizeof (int);
  1238. zmq_getsockopt (zocket, ZMQ_RCVMORE, &rcvmore, &option_len);
  1239. return rcvmore;
  1240. # else
  1241. return 0;
  1242. # endif
  1243. }
  1244. // --------------------------------------------------------------------------
  1245. // Return socket ZMQ_FD value
  1246. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1247. int
  1248. zsocket_fd (void *zocket)
  1249. {
  1250. # if defined (ZMQ_FD)
  1251. int fd;
  1252. size_t option_len = sizeof (int);
  1253. zmq_getsockopt (zocket, ZMQ_FD, &fd, &option_len);
  1254. return fd;
  1255. # else
  1256. return 0;
  1257. # endif
  1258. }
  1259. // --------------------------------------------------------------------------
  1260. // Return socket ZMQ_EVENTS value
  1261. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1262. int
  1263. zsocket_events (void *zocket)
  1264. {
  1265. # if defined (ZMQ_EVENTS)
  1266. int events;
  1267. size_t option_len = sizeof (int);
  1268. zmq_getsockopt (zocket, ZMQ_EVENTS, &events, &option_len);
  1269. return events;
  1270. # else
  1271. return 0;
  1272. # endif
  1273. }
  1274. // --------------------------------------------------------------------------
  1275. // Return socket ZMQ_LAST_ENDPOINT value
  1276. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1277. char *
  1278. zsocket_last_endpoint (void *zocket)
  1279. {
  1280. # if defined (ZMQ_LAST_ENDPOINT)
  1281. size_t option_len = 255;
  1282. char *last_endpoint = (char *) zmalloc (option_len);
  1283. zmq_getsockopt (zocket, ZMQ_LAST_ENDPOINT, last_endpoint, &option_len);
  1284. return (char *) last_endpoint;
  1285. # else
  1286. return NULL;
  1287. # endif
  1288. }
  1289. #endif
  1290. #if (ZMQ_VERSION_MAJOR == 3)
  1291. // --------------------------------------------------------------------------
  1292. // Set socket ZMQ_ROUTER_RAW value
  1293. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1294. void
  1295. zsocket_set_router_raw (void *zocket, int router_raw)
  1296. {
  1297. # if defined (ZMQ_ROUTER_RAW)
  1298. if (zsocket_type (zocket) != ZMQ_ROUTER) {
  1299. printf ("ZMQ_ROUTER_RAW is not valid on %s sockets\n", zsocket_type_str (zocket));
  1300. assert (false);
  1301. }
  1302. int rc = zmq_setsockopt (zocket, ZMQ_ROUTER_RAW, &router_raw, sizeof (int));
  1303. assert (rc == 0 || zmq_errno () == ETERM);
  1304. # endif
  1305. }
  1306. // --------------------------------------------------------------------------
  1307. // Set socket ZMQ_IPV4ONLY value
  1308. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1309. void
  1310. zsocket_set_ipv4only (void *zocket, int ipv4only)
  1311. {
  1312. # if defined (ZMQ_IPV4ONLY)
  1313. int rc = zmq_setsockopt (zocket, ZMQ_IPV4ONLY, &ipv4only, sizeof (int));
  1314. assert (rc == 0 || zmq_errno () == ETERM);
  1315. # endif
  1316. }
  1317. // --------------------------------------------------------------------------
  1318. // Return socket ZMQ_IPV4ONLY value
  1319. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1320. int
  1321. zsocket_ipv4only (void *zocket)
  1322. {
  1323. # if defined (ZMQ_IPV4ONLY)
  1324. int ipv4only;
  1325. size_t option_len = sizeof (int);
  1326. zmq_getsockopt (zocket, ZMQ_IPV4ONLY, &ipv4only, &option_len);
  1327. return ipv4only;
  1328. # else
  1329. return 0;
  1330. # endif
  1331. }
  1332. // --------------------------------------------------------------------------
  1333. // Set socket ZMQ_DELAY_ATTACH_ON_CONNECT value
  1334. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1335. void
  1336. zsocket_set_delay_attach_on_connect (void *zocket, int delay_attach_on_connect)
  1337. {
  1338. # if defined (ZMQ_DELAY_ATTACH_ON_CONNECT)
  1339. int rc = zmq_setsockopt (zocket, ZMQ_DELAY_ATTACH_ON_CONNECT, &delay_attach_on_connect, sizeof (int));
  1340. assert (rc == 0 || zmq_errno () == ETERM);
  1341. # endif
  1342. }
  1343. // --------------------------------------------------------------------------
  1344. // Return socket ZMQ_TYPE value
  1345. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1346. int
  1347. zsocket_type (void *zocket)
  1348. {
  1349. # if defined (ZMQ_TYPE)
  1350. int type;
  1351. size_t option_len = sizeof (int);
  1352. zmq_getsockopt (zocket, ZMQ_TYPE, &type, &option_len);
  1353. return type;
  1354. # else
  1355. return 0;
  1356. # endif
  1357. }
  1358. // --------------------------------------------------------------------------
  1359. // Set socket ZMQ_SNDHWM value
  1360. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1361. void
  1362. zsocket_set_sndhwm (void *zocket, int sndhwm)
  1363. {
  1364. # if defined (ZMQ_SNDHWM)
  1365. int rc = zmq_setsockopt (zocket, ZMQ_SNDHWM, &sndhwm, sizeof (int));
  1366. assert (rc == 0 || zmq_errno () == ETERM);
  1367. # endif
  1368. }
  1369. // --------------------------------------------------------------------------
  1370. // Return socket ZMQ_SNDHWM value
  1371. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1372. int
  1373. zsocket_sndhwm (void *zocket)
  1374. {
  1375. # if defined (ZMQ_SNDHWM)
  1376. int sndhwm;
  1377. size_t option_len = sizeof (int);
  1378. zmq_getsockopt (zocket, ZMQ_SNDHWM, &sndhwm, &option_len);
  1379. return sndhwm;
  1380. # else
  1381. return 0;
  1382. # endif
  1383. }
  1384. // --------------------------------------------------------------------------
  1385. // Set socket ZMQ_RCVHWM value
  1386. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1387. void
  1388. zsocket_set_rcvhwm (void *zocket, int rcvhwm)
  1389. {
  1390. # if defined (ZMQ_RCVHWM)
  1391. int rc = zmq_setsockopt (zocket, ZMQ_RCVHWM, &rcvhwm, sizeof (int));
  1392. assert (rc == 0 || zmq_errno () == ETERM);
  1393. # endif
  1394. }
  1395. // --------------------------------------------------------------------------
  1396. // Return socket ZMQ_RCVHWM value
  1397. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1398. int
  1399. zsocket_rcvhwm (void *zocket)
  1400. {
  1401. # if defined (ZMQ_RCVHWM)
  1402. int rcvhwm;
  1403. size_t option_len = sizeof (int);
  1404. zmq_getsockopt (zocket, ZMQ_RCVHWM, &rcvhwm, &option_len);
  1405. return rcvhwm;
  1406. # else
  1407. return 0;
  1408. # endif
  1409. }
  1410. // --------------------------------------------------------------------------
  1411. // Set socket ZMQ_AFFINITY value
  1412. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1413. void
  1414. zsocket_set_affinity (void *zocket, int affinity)
  1415. {
  1416. # if defined (ZMQ_AFFINITY)
  1417. uint64_t value = affinity;
  1418. int rc = zmq_setsockopt (zocket, ZMQ_AFFINITY, &value, sizeof (uint64_t));
  1419. assert (rc == 0 || zmq_errno () == ETERM);
  1420. # endif
  1421. }
  1422. // --------------------------------------------------------------------------
  1423. // Return socket ZMQ_AFFINITY value
  1424. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1425. int
  1426. zsocket_affinity (void *zocket)
  1427. {
  1428. # if defined (ZMQ_AFFINITY)
  1429. uint64_t affinity;
  1430. size_t option_len = sizeof (uint64_t);
  1431. zmq_getsockopt (zocket, ZMQ_AFFINITY, &affinity, &option_len);
  1432. return (int) affinity;
  1433. # else
  1434. return 0;
  1435. # endif
  1436. }
  1437. // --------------------------------------------------------------------------
  1438. // Set socket ZMQ_SUBSCRIBE value
  1439. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1440. void
  1441. zsocket_set_subscribe (void *zocket, const char * subscribe)
  1442. {
  1443. # if defined (ZMQ_SUBSCRIBE)
  1444. if (zsocket_type (zocket) != ZMQ_SUB) {
  1445. printf ("ZMQ_SUBSCRIBE is not valid on %s sockets\n", zsocket_type_str (zocket));
  1446. assert (false);
  1447. }
  1448. int rc = zmq_setsockopt (zocket, ZMQ_SUBSCRIBE, subscribe, strlen (subscribe));
  1449. assert (rc == 0 || zmq_errno () == ETERM);
  1450. # endif
  1451. }
  1452. // --------------------------------------------------------------------------
  1453. // Set socket ZMQ_UNSUBSCRIBE value
  1454. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1455. void
  1456. zsocket_set_unsubscribe (void *zocket, const char * unsubscribe)
  1457. {
  1458. # if defined (ZMQ_UNSUBSCRIBE)
  1459. if (zsocket_type (zocket) != ZMQ_SUB) {
  1460. printf ("ZMQ_UNSUBSCRIBE is not valid on %s sockets\n", zsocket_type_str (zocket));
  1461. assert (false);
  1462. }
  1463. int rc = zmq_setsockopt (zocket, ZMQ_UNSUBSCRIBE, unsubscribe, strlen (unsubscribe));
  1464. assert (rc == 0 || zmq_errno () == ETERM);
  1465. # endif
  1466. }
  1467. // --------------------------------------------------------------------------
  1468. // Set socket ZMQ_IDENTITY value
  1469. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1470. void
  1471. zsocket_set_identity (void *zocket, const char * identity)
  1472. {
  1473. # if defined (ZMQ_IDENTITY)
  1474. if (zsocket_type (zocket) != ZMQ_REQ
  1475. && zsocket_type (zocket) != ZMQ_REP
  1476. && zsocket_type (zocket) != ZMQ_DEALER
  1477. && zsocket_type (zocket) != ZMQ_ROUTER) {
  1478. printf ("ZMQ_IDENTITY is not valid on %s sockets\n", zsocket_type_str (zocket));
  1479. assert (false);
  1480. }
  1481. int rc = zmq_setsockopt (zocket, ZMQ_IDENTITY, identity, strlen (identity));
  1482. assert (rc == 0 || zmq_errno () == ETERM);
  1483. # endif
  1484. }
  1485. // --------------------------------------------------------------------------
  1486. // Return socket ZMQ_IDENTITY value
  1487. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1488. char *
  1489. zsocket_identity (void *zocket)
  1490. {
  1491. # if defined (ZMQ_IDENTITY)
  1492. size_t option_len = 255;
  1493. char *identity = (char *) zmalloc (option_len);
  1494. zmq_getsockopt (zocket, ZMQ_IDENTITY, identity, &option_len);
  1495. return (char *) identity;
  1496. # else
  1497. return NULL;
  1498. # endif
  1499. }
  1500. // --------------------------------------------------------------------------
  1501. // Set socket ZMQ_RATE value
  1502. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1503. void
  1504. zsocket_set_rate (void *zocket, int rate)
  1505. {
  1506. # if defined (ZMQ_RATE)
  1507. int rc = zmq_setsockopt (zocket, ZMQ_RATE, &rate, sizeof (int));
  1508. assert (rc == 0 || zmq_errno () == ETERM);
  1509. # endif
  1510. }
  1511. // --------------------------------------------------------------------------
  1512. // Return socket ZMQ_RATE value
  1513. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1514. int
  1515. zsocket_rate (void *zocket)
  1516. {
  1517. # if defined (ZMQ_RATE)
  1518. int rate;
  1519. size_t option_len = sizeof (int);
  1520. zmq_getsockopt (zocket, ZMQ_RATE, &rate, &option_len);
  1521. return rate;
  1522. # else
  1523. return 0;
  1524. # endif
  1525. }
  1526. // --------------------------------------------------------------------------
  1527. // Set socket ZMQ_RECOVERY_IVL value
  1528. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1529. void
  1530. zsocket_set_recovery_ivl (void *zocket, int recovery_ivl)
  1531. {
  1532. # if defined (ZMQ_RECOVERY_IVL)
  1533. int rc = zmq_setsockopt (zocket, ZMQ_RECOVERY_IVL, &recovery_ivl, sizeof (int));
  1534. assert (rc == 0 || zmq_errno () == ETERM);
  1535. # endif
  1536. }
  1537. // --------------------------------------------------------------------------
  1538. // Return socket ZMQ_RECOVERY_IVL value
  1539. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1540. int
  1541. zsocket_recovery_ivl (void *zocket)
  1542. {
  1543. # if defined (ZMQ_RECOVERY_IVL)
  1544. int recovery_ivl;
  1545. size_t option_len = sizeof (int);
  1546. zmq_getsockopt (zocket, ZMQ_RECOVERY_IVL, &recovery_ivl, &option_len);
  1547. return recovery_ivl;
  1548. # else
  1549. return 0;
  1550. # endif
  1551. }
  1552. // --------------------------------------------------------------------------
  1553. // Set socket ZMQ_SNDBUF value
  1554. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1555. void
  1556. zsocket_set_sndbuf (void *zocket, int sndbuf)
  1557. {
  1558. # if defined (ZMQ_SNDBUF)
  1559. int rc = zmq_setsockopt (zocket, ZMQ_SNDBUF, &sndbuf, sizeof (int));
  1560. assert (rc == 0 || zmq_errno () == ETERM);
  1561. # endif
  1562. }
  1563. // --------------------------------------------------------------------------
  1564. // Return socket ZMQ_SNDBUF value
  1565. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1566. int
  1567. zsocket_sndbuf (void *zocket)
  1568. {
  1569. # if defined (ZMQ_SNDBUF)
  1570. int sndbuf;
  1571. size_t option_len = sizeof (int);
  1572. zmq_getsockopt (zocket, ZMQ_SNDBUF, &sndbuf, &option_len);
  1573. return sndbuf;
  1574. # else
  1575. return 0;
  1576. # endif
  1577. }
  1578. // --------------------------------------------------------------------------
  1579. // Set socket ZMQ_RCVBUF value
  1580. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1581. void
  1582. zsocket_set_rcvbuf (void *zocket, int rcvbuf)
  1583. {
  1584. # if defined (ZMQ_RCVBUF)
  1585. int rc = zmq_setsockopt (zocket, ZMQ_RCVBUF, &rcvbuf, sizeof (int));
  1586. assert (rc == 0 || zmq_errno () == ETERM);
  1587. # endif
  1588. }
  1589. // --------------------------------------------------------------------------
  1590. // Return socket ZMQ_RCVBUF value
  1591. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1592. int
  1593. zsocket_rcvbuf (void *zocket)
  1594. {
  1595. # if defined (ZMQ_RCVBUF)
  1596. int rcvbuf;
  1597. size_t option_len = sizeof (int);
  1598. zmq_getsockopt (zocket, ZMQ_RCVBUF, &rcvbuf, &option_len);
  1599. return rcvbuf;
  1600. # else
  1601. return 0;
  1602. # endif
  1603. }
  1604. // --------------------------------------------------------------------------
  1605. // Set socket ZMQ_LINGER value
  1606. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1607. void
  1608. zsocket_set_linger (void *zocket, int linger)
  1609. {
  1610. # if defined (ZMQ_LINGER)
  1611. int rc = zmq_setsockopt (zocket, ZMQ_LINGER, &linger, sizeof (int));
  1612. assert (rc == 0 || zmq_errno () == ETERM);
  1613. # endif
  1614. }
  1615. // --------------------------------------------------------------------------
  1616. // Return socket ZMQ_LINGER value
  1617. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1618. int
  1619. zsocket_linger (void *zocket)
  1620. {
  1621. # if defined (ZMQ_LINGER)
  1622. int linger;
  1623. size_t option_len = sizeof (int);
  1624. zmq_getsockopt (zocket, ZMQ_LINGER, &linger, &option_len);
  1625. return linger;
  1626. # else
  1627. return 0;
  1628. # endif
  1629. }
  1630. // --------------------------------------------------------------------------
  1631. // Set socket ZMQ_RECONNECT_IVL value
  1632. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1633. void
  1634. zsocket_set_reconnect_ivl (void *zocket, int reconnect_ivl)
  1635. {
  1636. # if defined (ZMQ_RECONNECT_IVL)
  1637. int rc = zmq_setsockopt (zocket, ZMQ_RECONNECT_IVL, &reconnect_ivl, sizeof (int));
  1638. assert (rc == 0 || zmq_errno () == ETERM);
  1639. # endif
  1640. }
  1641. // --------------------------------------------------------------------------
  1642. // Return socket ZMQ_RECONNECT_IVL value
  1643. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1644. int
  1645. zsocket_reconnect_ivl (void *zocket)
  1646. {
  1647. # if defined (ZMQ_RECONNECT_IVL)
  1648. int reconnect_ivl;
  1649. size_t option_len = sizeof (int);
  1650. zmq_getsockopt (zocket, ZMQ_RECONNECT_IVL, &reconnect_ivl, &option_len);
  1651. return reconnect_ivl;
  1652. # else
  1653. return 0;
  1654. # endif
  1655. }
  1656. // --------------------------------------------------------------------------
  1657. // Set socket ZMQ_RECONNECT_IVL_MAX value
  1658. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1659. void
  1660. zsocket_set_reconnect_ivl_max (void *zocket, int reconnect_ivl_max)
  1661. {
  1662. # if defined (ZMQ_RECONNECT_IVL_MAX)
  1663. int rc = zmq_setsockopt (zocket, ZMQ_RECONNECT_IVL_MAX, &reconnect_ivl_max, sizeof (int));
  1664. assert (rc == 0 || zmq_errno () == ETERM);
  1665. # endif
  1666. }
  1667. // --------------------------------------------------------------------------
  1668. // Return socket ZMQ_RECONNECT_IVL_MAX value
  1669. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1670. int
  1671. zsocket_reconnect_ivl_max (void *zocket)
  1672. {
  1673. # if defined (ZMQ_RECONNECT_IVL_MAX)
  1674. int reconnect_ivl_max;
  1675. size_t option_len = sizeof (int);
  1676. zmq_getsockopt (zocket, ZMQ_RECONNECT_IVL_MAX, &reconnect_ivl_max, &option_len);
  1677. return reconnect_ivl_max;
  1678. # else
  1679. return 0;
  1680. # endif
  1681. }
  1682. // --------------------------------------------------------------------------
  1683. // Set socket ZMQ_BACKLOG value
  1684. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1685. void
  1686. zsocket_set_backlog (void *zocket, int backlog)
  1687. {
  1688. # if defined (ZMQ_BACKLOG)
  1689. int rc = zmq_setsockopt (zocket, ZMQ_BACKLOG, &backlog, sizeof (int));
  1690. assert (rc == 0 || zmq_errno () == ETERM);
  1691. # endif
  1692. }
  1693. // --------------------------------------------------------------------------
  1694. // Return socket ZMQ_BACKLOG value
  1695. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1696. int
  1697. zsocket_backlog (void *zocket)
  1698. {
  1699. # if defined (ZMQ_BACKLOG)
  1700. int backlog;
  1701. size_t option_len = sizeof (int);
  1702. zmq_getsockopt (zocket, ZMQ_BACKLOG, &backlog, &option_len);
  1703. return backlog;
  1704. # else
  1705. return 0;
  1706. # endif
  1707. }
  1708. // --------------------------------------------------------------------------
  1709. // Set socket ZMQ_MAXMSGSIZE value
  1710. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1711. void
  1712. zsocket_set_maxmsgsize (void *zocket, int maxmsgsize)
  1713. {
  1714. # if defined (ZMQ_MAXMSGSIZE)
  1715. int64_t value = maxmsgsize;
  1716. int rc = zmq_setsockopt (zocket, ZMQ_MAXMSGSIZE, &value, sizeof (int64_t));
  1717. assert (rc == 0 || zmq_errno () == ETERM);
  1718. # endif
  1719. }
  1720. // --------------------------------------------------------------------------
  1721. // Return socket ZMQ_MAXMSGSIZE value
  1722. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1723. int
  1724. zsocket_maxmsgsize (void *zocket)
  1725. {
  1726. # if defined (ZMQ_MAXMSGSIZE)
  1727. int64_t maxmsgsize;
  1728. size_t option_len = sizeof (int64_t);
  1729. zmq_getsockopt (zocket, ZMQ_MAXMSGSIZE, &maxmsgsize, &option_len);
  1730. return (int) maxmsgsize;
  1731. # else
  1732. return 0;
  1733. # endif
  1734. }
  1735. // --------------------------------------------------------------------------
  1736. // Set socket ZMQ_MULTICAST_HOPS value
  1737. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1738. void
  1739. zsocket_set_multicast_hops (void *zocket, int multicast_hops)
  1740. {
  1741. # if defined (ZMQ_MULTICAST_HOPS)
  1742. int rc = zmq_setsockopt (zocket, ZMQ_MULTICAST_HOPS, &multicast_hops, sizeof (int));
  1743. assert (rc == 0 || zmq_errno () == ETERM);
  1744. # endif
  1745. }
  1746. // --------------------------------------------------------------------------
  1747. // Return socket ZMQ_MULTICAST_HOPS value
  1748. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1749. int
  1750. zsocket_multicast_hops (void *zocket)
  1751. {
  1752. # if defined (ZMQ_MULTICAST_HOPS)
  1753. int multicast_hops;
  1754. size_t option_len = sizeof (int);
  1755. zmq_getsockopt (zocket, ZMQ_MULTICAST_HOPS, &multicast_hops, &option_len);
  1756. return multicast_hops;
  1757. # else
  1758. return 0;
  1759. # endif
  1760. }
  1761. // --------------------------------------------------------------------------
  1762. // Set socket ZMQ_RCVTIMEO value
  1763. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1764. void
  1765. zsocket_set_rcvtimeo (void *zocket, int rcvtimeo)
  1766. {
  1767. # if defined (ZMQ_RCVTIMEO)
  1768. int rc = zmq_setsockopt (zocket, ZMQ_RCVTIMEO, &rcvtimeo, sizeof (int));
  1769. assert (rc == 0 || zmq_errno () == ETERM);
  1770. # endif
  1771. }
  1772. // --------------------------------------------------------------------------
  1773. // Return socket ZMQ_RCVTIMEO value
  1774. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1775. int
  1776. zsocket_rcvtimeo (void *zocket)
  1777. {
  1778. # if defined (ZMQ_RCVTIMEO)
  1779. int rcvtimeo;
  1780. size_t option_len = sizeof (int);
  1781. zmq_getsockopt (zocket, ZMQ_RCVTIMEO, &rcvtimeo, &option_len);
  1782. return rcvtimeo;
  1783. # else
  1784. return 0;
  1785. # endif
  1786. }
  1787. // --------------------------------------------------------------------------
  1788. // Set socket ZMQ_SNDTIMEO value
  1789. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1790. void
  1791. zsocket_set_sndtimeo (void *zocket, int sndtimeo)
  1792. {
  1793. # if defined (ZMQ_SNDTIMEO)
  1794. int rc = zmq_setsockopt (zocket, ZMQ_SNDTIMEO, &sndtimeo, sizeof (int));
  1795. assert (rc == 0 || zmq_errno () == ETERM);
  1796. # endif
  1797. }
  1798. // --------------------------------------------------------------------------
  1799. // Return socket ZMQ_SNDTIMEO value
  1800. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1801. int
  1802. zsocket_sndtimeo (void *zocket)
  1803. {
  1804. # if defined (ZMQ_SNDTIMEO)
  1805. int sndtimeo;
  1806. size_t option_len = sizeof (int);
  1807. zmq_getsockopt (zocket, ZMQ_SNDTIMEO, &sndtimeo, &option_len);
  1808. return sndtimeo;
  1809. # else
  1810. return 0;
  1811. # endif
  1812. }
  1813. // --------------------------------------------------------------------------
  1814. // Set socket ZMQ_XPUB_VERBOSE value
  1815. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1816. void
  1817. zsocket_set_xpub_verbose (void *zocket, int xpub_verbose)
  1818. {
  1819. # if defined (ZMQ_XPUB_VERBOSE)
  1820. if (zsocket_type (zocket) != ZMQ_XPUB) {
  1821. printf ("ZMQ_XPUB_VERBOSE is not valid on %s sockets\n", zsocket_type_str (zocket));
  1822. assert (false);
  1823. }
  1824. int rc = zmq_setsockopt (zocket, ZMQ_XPUB_VERBOSE, &xpub_verbose, sizeof (int));
  1825. assert (rc == 0 || zmq_errno () == ETERM);
  1826. # endif
  1827. }
  1828. // --------------------------------------------------------------------------
  1829. // Set socket ZMQ_TCP_KEEPALIVE value
  1830. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1831. void
  1832. zsocket_set_tcp_keepalive (void *zocket, int tcp_keepalive)
  1833. {
  1834. # if defined (ZMQ_TCP_KEEPALIVE)
  1835. int rc = zmq_setsockopt (zocket, ZMQ_TCP_KEEPALIVE, &tcp_keepalive, sizeof (int));
  1836. assert (rc == 0 || zmq_errno () == ETERM);
  1837. # endif
  1838. }
  1839. // --------------------------------------------------------------------------
  1840. // Return socket ZMQ_TCP_KEEPALIVE value
  1841. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1842. int
  1843. zsocket_tcp_keepalive (void *zocket)
  1844. {
  1845. # if defined (ZMQ_TCP_KEEPALIVE)
  1846. int tcp_keepalive;
  1847. size_t option_len = sizeof (int);
  1848. zmq_getsockopt (zocket, ZMQ_TCP_KEEPALIVE, &tcp_keepalive, &option_len);
  1849. return tcp_keepalive;
  1850. # else
  1851. return 0;
  1852. # endif
  1853. }
  1854. // --------------------------------------------------------------------------
  1855. // Set socket ZMQ_TCP_KEEPALIVE_IDLE value
  1856. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1857. void
  1858. zsocket_set_tcp_keepalive_idle (void *zocket, int tcp_keepalive_idle)
  1859. {
  1860. # if defined (ZMQ_TCP_KEEPALIVE_IDLE)
  1861. int rc = zmq_setsockopt (zocket, ZMQ_TCP_KEEPALIVE_IDLE, &tcp_keepalive_idle, sizeof (int));
  1862. assert (rc == 0 || zmq_errno () == ETERM);
  1863. # endif
  1864. }
  1865. // --------------------------------------------------------------------------
  1866. // Return socket ZMQ_TCP_KEEPALIVE_IDLE value
  1867. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1868. int
  1869. zsocket_tcp_keepalive_idle (void *zocket)
  1870. {
  1871. # if defined (ZMQ_TCP_KEEPALIVE_IDLE)
  1872. int tcp_keepalive_idle;
  1873. size_t option_len = sizeof (int);
  1874. zmq_getsockopt (zocket, ZMQ_TCP_KEEPALIVE_IDLE, &tcp_keepalive_idle, &option_len);
  1875. return tcp_keepalive_idle;
  1876. # else
  1877. return 0;
  1878. # endif
  1879. }
  1880. // --------------------------------------------------------------------------
  1881. // Set socket ZMQ_TCP_KEEPALIVE_CNT value
  1882. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1883. void
  1884. zsocket_set_tcp_keepalive_cnt (void *zocket, int tcp_keepalive_cnt)
  1885. {
  1886. # if defined (ZMQ_TCP_KEEPALIVE_CNT)
  1887. int rc = zmq_setsockopt (zocket, ZMQ_TCP_KEEPALIVE_CNT, &tcp_keepalive_cnt, sizeof (int));
  1888. assert (rc == 0 || zmq_errno () == ETERM);
  1889. # endif
  1890. }
  1891. // --------------------------------------------------------------------------
  1892. // Return socket ZMQ_TCP_KEEPALIVE_CNT value
  1893. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1894. int
  1895. zsocket_tcp_keepalive_cnt (void *zocket)
  1896. {
  1897. # if defined (ZMQ_TCP_KEEPALIVE_CNT)
  1898. int tcp_keepalive_cnt;
  1899. size_t option_len = sizeof (int);
  1900. zmq_getsockopt (zocket, ZMQ_TCP_KEEPALIVE_CNT, &tcp_keepalive_cnt, &option_len);
  1901. return tcp_keepalive_cnt;
  1902. # else
  1903. return 0;
  1904. # endif
  1905. }
  1906. // --------------------------------------------------------------------------
  1907. // Set socket ZMQ_TCP_KEEPALIVE_INTVL value
  1908. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1909. void
  1910. zsocket_set_tcp_keepalive_intvl (void *zocket, int tcp_keepalive_intvl)
  1911. {
  1912. # if defined (ZMQ_TCP_KEEPALIVE_INTVL)
  1913. int rc = zmq_setsockopt (zocket, ZMQ_TCP_KEEPALIVE_INTVL, &tcp_keepalive_intvl, sizeof (int));
  1914. assert (rc == 0 || zmq_errno () == ETERM);
  1915. # endif
  1916. }
  1917. // --------------------------------------------------------------------------
  1918. // Return socket ZMQ_TCP_KEEPALIVE_INTVL value
  1919. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1920. int
  1921. zsocket_tcp_keepalive_intvl (void *zocket)
  1922. {
  1923. # if defined (ZMQ_TCP_KEEPALIVE_INTVL)
  1924. int tcp_keepalive_intvl;
  1925. size_t option_len = sizeof (int);
  1926. zmq_getsockopt (zocket, ZMQ_TCP_KEEPALIVE_INTVL, &tcp_keepalive_intvl, &option_len);
  1927. return tcp_keepalive_intvl;
  1928. # else
  1929. return 0;
  1930. # endif
  1931. }
  1932. // --------------------------------------------------------------------------
  1933. // Set socket ZMQ_TCP_ACCEPT_FILTER value
  1934. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1935. void
  1936. zsocket_set_tcp_accept_filter (void *zocket, const char * tcp_accept_filter)
  1937. {
  1938. # if defined (ZMQ_TCP_ACCEPT_FILTER)
  1939. int rc = zmq_setsockopt (zocket, ZMQ_TCP_ACCEPT_FILTER, tcp_accept_filter, strlen (tcp_accept_filter));
  1940. assert (rc == 0 || zmq_errno () == ETERM);
  1941. # endif
  1942. }
  1943. // --------------------------------------------------------------------------
  1944. // Return socket ZMQ_TCP_ACCEPT_FILTER value
  1945. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1946. char *
  1947. zsocket_tcp_accept_filter (void *zocket)
  1948. {
  1949. # if defined (ZMQ_TCP_ACCEPT_FILTER)
  1950. size_t option_len = 255;
  1951. char *tcp_accept_filter = (char *) zmalloc (option_len);
  1952. zmq_getsockopt (zocket, ZMQ_TCP_ACCEPT_FILTER, tcp_accept_filter, &option_len);
  1953. return (char *) tcp_accept_filter;
  1954. # else
  1955. return NULL;
  1956. # endif
  1957. }
  1958. // --------------------------------------------------------------------------
  1959. // Return socket ZMQ_RCVMORE value
  1960. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1961. int
  1962. zsocket_rcvmore (void *zocket)
  1963. {
  1964. # if defined (ZMQ_RCVMORE)
  1965. int rcvmore;
  1966. size_t option_len = sizeof (int);
  1967. zmq_getsockopt (zocket, ZMQ_RCVMORE, &rcvmore, &option_len);
  1968. return rcvmore;
  1969. # else
  1970. return 0;
  1971. # endif
  1972. }
  1973. // --------------------------------------------------------------------------
  1974. // Return socket ZMQ_FD value
  1975. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1976. int
  1977. zsocket_fd (void *zocket)
  1978. {
  1979. # if defined (ZMQ_FD)
  1980. int fd;
  1981. size_t option_len = sizeof (int);
  1982. zmq_getsockopt (zocket, ZMQ_FD, &fd, &option_len);
  1983. return fd;
  1984. # else
  1985. return 0;
  1986. # endif
  1987. }
  1988. // --------------------------------------------------------------------------
  1989. // Return socket ZMQ_EVENTS value
  1990. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  1991. int
  1992. zsocket_events (void *zocket)
  1993. {
  1994. # if defined (ZMQ_EVENTS)
  1995. int events;
  1996. size_t option_len = sizeof (int);
  1997. zmq_getsockopt (zocket, ZMQ_EVENTS, &events, &option_len);
  1998. return events;
  1999. # else
  2000. return 0;
  2001. # endif
  2002. }
  2003. // --------------------------------------------------------------------------
  2004. // Return socket ZMQ_LAST_ENDPOINT value
  2005. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  2006. char *
  2007. zsocket_last_endpoint (void *zocket)
  2008. {
  2009. # if defined (ZMQ_LAST_ENDPOINT)
  2010. size_t option_len = 255;
  2011. char *last_endpoint = (char *) zmalloc (option_len);
  2012. zmq_getsockopt (zocket, ZMQ_LAST_ENDPOINT, last_endpoint, &option_len);
  2013. return (char *) last_endpoint;
  2014. # else
  2015. return NULL;
  2016. # endif
  2017. }
  2018. #endif
  2019. #if (ZMQ_VERSION_MAJOR == 2)
  2020. // --------------------------------------------------------------------------
  2021. // Set socket ZMQ_HWM value
  2022. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  2023. void
  2024. zsocket_set_hwm (void *zocket, int hwm)
  2025. {
  2026. # if defined (ZMQ_HWM)
  2027. uint64_t value = hwm;
  2028. int rc = zmq_setsockopt (zocket, ZMQ_HWM, &value, sizeof (uint64_t));
  2029. assert (rc == 0 || zmq_errno () == ETERM);
  2030. # endif
  2031. }
  2032. // --------------------------------------------------------------------------
  2033. // Return socket ZMQ_HWM value
  2034. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  2035. int
  2036. zsocket_hwm (void *zocket)
  2037. {
  2038. # if defined (ZMQ_HWM)
  2039. uint64_t hwm;
  2040. size_t option_len = sizeof (uint64_t);
  2041. zmq_getsockopt (zocket, ZMQ_HWM, &hwm, &option_len);
  2042. return (int) hwm;
  2043. # else
  2044. return 0;
  2045. # endif
  2046. }
  2047. // --------------------------------------------------------------------------
  2048. // Set socket ZMQ_SWAP value
  2049. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  2050. void
  2051. zsocket_set_swap (void *zocket, int swap)
  2052. {
  2053. # if defined (ZMQ_SWAP)
  2054. int64_t value = swap;
  2055. int rc = zmq_setsockopt (zocket, ZMQ_SWAP, &value, sizeof (int64_t));
  2056. assert (rc == 0 || zmq_errno () == ETERM);
  2057. # endif
  2058. }
  2059. // --------------------------------------------------------------------------
  2060. // Return socket ZMQ_SWAP value
  2061. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  2062. int
  2063. zsocket_swap (void *zocket)
  2064. {
  2065. # if defined (ZMQ_SWAP)
  2066. int64_t swap;
  2067. size_t option_len = sizeof (int64_t);
  2068. zmq_getsockopt (zocket, ZMQ_SWAP, &swap, &option_len);
  2069. return (int) swap;
  2070. # else
  2071. return 0;
  2072. # endif
  2073. }
  2074. // --------------------------------------------------------------------------
  2075. // Set socket ZMQ_AFFINITY value
  2076. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  2077. void
  2078. zsocket_set_affinity (void *zocket, int affinity)
  2079. {
  2080. # if defined (ZMQ_AFFINITY)
  2081. uint64_t value = affinity;
  2082. int rc = zmq_setsockopt (zocket, ZMQ_AFFINITY, &value, sizeof (uint64_t));
  2083. assert (rc == 0 || zmq_errno () == ETERM);
  2084. # endif
  2085. }
  2086. // --------------------------------------------------------------------------
  2087. // Return socket ZMQ_AFFINITY value
  2088. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  2089. int
  2090. zsocket_affinity (void *zocket)
  2091. {
  2092. # if defined (ZMQ_AFFINITY)
  2093. uint64_t affinity;
  2094. size_t option_len = sizeof (uint64_t);
  2095. zmq_getsockopt (zocket, ZMQ_AFFINITY, &affinity, &option_len);
  2096. return (int) affinity;
  2097. # else
  2098. return 0;
  2099. # endif
  2100. }
  2101. // --------------------------------------------------------------------------
  2102. // Set socket ZMQ_IDENTITY value
  2103. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  2104. void
  2105. zsocket_set_identity (void *zocket, const char * identity)
  2106. {
  2107. # if defined (ZMQ_IDENTITY)
  2108. int rc = zmq_setsockopt (zocket, ZMQ_IDENTITY, identity, strlen (identity));
  2109. assert (rc == 0 || zmq_errno () == ETERM);
  2110. # endif
  2111. }
  2112. // --------------------------------------------------------------------------
  2113. // Return socket ZMQ_IDENTITY value
  2114. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  2115. char *
  2116. zsocket_identity (void *zocket)
  2117. {
  2118. # if defined (ZMQ_IDENTITY)
  2119. size_t option_len = 255;
  2120. char *identity = (char *) zmalloc (option_len);
  2121. zmq_getsockopt (zocket, ZMQ_IDENTITY, identity, &option_len);
  2122. return (char *) identity;
  2123. # else
  2124. return NULL;
  2125. # endif
  2126. }
  2127. // --------------------------------------------------------------------------
  2128. // Set socket ZMQ_RATE value
  2129. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  2130. void
  2131. zsocket_set_rate (void *zocket, int rate)
  2132. {
  2133. # if defined (ZMQ_RATE)
  2134. int64_t value = rate;
  2135. int rc = zmq_setsockopt (zocket, ZMQ_RATE, &value, sizeof (int64_t));
  2136. assert (rc == 0 || zmq_errno () == ETERM);
  2137. # endif
  2138. }
  2139. // --------------------------------------------------------------------------
  2140. // Return socket ZMQ_RATE value
  2141. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  2142. int
  2143. zsocket_rate (void *zocket)
  2144. {
  2145. # if defined (ZMQ_RATE)
  2146. int64_t rate;
  2147. size_t option_len = sizeof (int64_t);
  2148. zmq_getsockopt (zocket, ZMQ_RATE, &rate, &option_len);
  2149. return (int) rate;
  2150. # else
  2151. return 0;
  2152. # endif
  2153. }
  2154. // --------------------------------------------------------------------------
  2155. // Set socket ZMQ_RECOVERY_IVL value
  2156. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  2157. void
  2158. zsocket_set_recovery_ivl (void *zocket, int recovery_ivl)
  2159. {
  2160. # if defined (ZMQ_RECOVERY_IVL)
  2161. int64_t value = recovery_ivl;
  2162. int rc = zmq_setsockopt (zocket, ZMQ_RECOVERY_IVL, &value, sizeof (int64_t));
  2163. assert (rc == 0 || zmq_errno () == ETERM);
  2164. # endif
  2165. }
  2166. // --------------------------------------------------------------------------
  2167. // Return socket ZMQ_RECOVERY_IVL value
  2168. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  2169. int
  2170. zsocket_recovery_ivl (void *zocket)
  2171. {
  2172. # if defined (ZMQ_RECOVERY_IVL)
  2173. int64_t recovery_ivl;
  2174. size_t option_len = sizeof (int64_t);
  2175. zmq_getsockopt (zocket, ZMQ_RECOVERY_IVL, &recovery_ivl, &option_len);
  2176. return (int) recovery_ivl;
  2177. # else
  2178. return 0;
  2179. # endif
  2180. }
  2181. // --------------------------------------------------------------------------
  2182. // Set socket ZMQ_RECOVERY_IVL_MSEC value
  2183. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  2184. void
  2185. zsocket_set_recovery_ivl_msec (void *zocket, int recovery_ivl_msec)
  2186. {
  2187. # if defined (ZMQ_RECOVERY_IVL_MSEC)
  2188. int64_t value = recovery_ivl_msec;
  2189. int rc = zmq_setsockopt (zocket, ZMQ_RECOVERY_IVL_MSEC, &value, sizeof (int64_t));
  2190. assert (rc == 0 || zmq_errno () == ETERM);
  2191. # endif
  2192. }
  2193. // --------------------------------------------------------------------------
  2194. // Return socket ZMQ_RECOVERY_IVL_MSEC value
  2195. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  2196. int
  2197. zsocket_recovery_ivl_msec (void *zocket)
  2198. {
  2199. # if defined (ZMQ_RECOVERY_IVL_MSEC)
  2200. int64_t recovery_ivl_msec;
  2201. size_t option_len = sizeof (int64_t);
  2202. zmq_getsockopt (zocket, ZMQ_RECOVERY_IVL_MSEC, &recovery_ivl_msec, &option_len);
  2203. return (int) recovery_ivl_msec;
  2204. # else
  2205. return 0;
  2206. # endif
  2207. }
  2208. // --------------------------------------------------------------------------
  2209. // Set socket ZMQ_MCAST_LOOP value
  2210. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  2211. void
  2212. zsocket_set_mcast_loop (void *zocket, int mcast_loop)
  2213. {
  2214. # if defined (ZMQ_MCAST_LOOP)
  2215. int64_t value = mcast_loop;
  2216. int rc = zmq_setsockopt (zocket, ZMQ_MCAST_LOOP, &value, sizeof (int64_t));
  2217. assert (rc == 0 || zmq_errno () == ETERM);
  2218. # endif
  2219. }
  2220. // --------------------------------------------------------------------------
  2221. // Return socket ZMQ_MCAST_LOOP value
  2222. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  2223. int
  2224. zsocket_mcast_loop (void *zocket)
  2225. {
  2226. # if defined (ZMQ_MCAST_LOOP)
  2227. int64_t mcast_loop;
  2228. size_t option_len = sizeof (int64_t);
  2229. zmq_getsockopt (zocket, ZMQ_MCAST_LOOP, &mcast_loop, &option_len);
  2230. return (int) mcast_loop;
  2231. # else
  2232. return 0;
  2233. # endif
  2234. }
  2235. # if (ZMQ_VERSION_MINOR == 2)
  2236. // --------------------------------------------------------------------------
  2237. // Set socket ZMQ_RCVTIMEO value
  2238. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  2239. void
  2240. zsocket_set_rcvtimeo (void *zocket, int rcvtimeo)
  2241. {
  2242. # if defined (ZMQ_RCVTIMEO)
  2243. int rc = zmq_setsockopt (zocket, ZMQ_RCVTIMEO, &rcvtimeo, sizeof (int));
  2244. assert (rc == 0 || zmq_errno () == ETERM);
  2245. # endif
  2246. }
  2247. // --------------------------------------------------------------------------
  2248. // Return socket ZMQ_RCVTIMEO value
  2249. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  2250. int
  2251. zsocket_rcvtimeo (void *zocket)
  2252. {
  2253. # if defined (ZMQ_RCVTIMEO)
  2254. int rcvtimeo;
  2255. size_t option_len = sizeof (int);
  2256. zmq_getsockopt (zocket, ZMQ_RCVTIMEO, &rcvtimeo, &option_len);
  2257. return rcvtimeo;
  2258. # else
  2259. return 0;
  2260. # endif
  2261. }
  2262. # endif
  2263. # if (ZMQ_VERSION_MINOR == 2)
  2264. // --------------------------------------------------------------------------
  2265. // Set socket ZMQ_SNDTIMEO value
  2266. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  2267. void
  2268. zsocket_set_sndtimeo (void *zocket, int sndtimeo)
  2269. {
  2270. # if defined (ZMQ_SNDTIMEO)
  2271. int rc = zmq_setsockopt (zocket, ZMQ_SNDTIMEO, &sndtimeo, sizeof (int));
  2272. assert (rc == 0 || zmq_errno () == ETERM);
  2273. # endif
  2274. }
  2275. // --------------------------------------------------------------------------
  2276. // Return socket ZMQ_SNDTIMEO value
  2277. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  2278. int
  2279. zsocket_sndtimeo (void *zocket)
  2280. {
  2281. # if defined (ZMQ_SNDTIMEO)
  2282. int sndtimeo;
  2283. size_t option_len = sizeof (int);
  2284. zmq_getsockopt (zocket, ZMQ_SNDTIMEO, &sndtimeo, &option_len);
  2285. return sndtimeo;
  2286. # else
  2287. return 0;
  2288. # endif
  2289. }
  2290. # endif
  2291. // --------------------------------------------------------------------------
  2292. // Set socket ZMQ_SNDBUF value
  2293. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  2294. void
  2295. zsocket_set_sndbuf (void *zocket, int sndbuf)
  2296. {
  2297. # if defined (ZMQ_SNDBUF)
  2298. uint64_t value = sndbuf;
  2299. int rc = zmq_setsockopt (zocket, ZMQ_SNDBUF, &value, sizeof (uint64_t));
  2300. assert (rc == 0 || zmq_errno () == ETERM);
  2301. # endif
  2302. }
  2303. // --------------------------------------------------------------------------
  2304. // Return socket ZMQ_SNDBUF value
  2305. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  2306. int
  2307. zsocket_sndbuf (void *zocket)
  2308. {
  2309. # if defined (ZMQ_SNDBUF)
  2310. uint64_t sndbuf;
  2311. size_t option_len = sizeof (uint64_t);
  2312. zmq_getsockopt (zocket, ZMQ_SNDBUF, &sndbuf, &option_len);
  2313. return (int) sndbuf;
  2314. # else
  2315. return 0;
  2316. # endif
  2317. }
  2318. // --------------------------------------------------------------------------
  2319. // Set socket ZMQ_RCVBUF value
  2320. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  2321. void
  2322. zsocket_set_rcvbuf (void *zocket, int rcvbuf)
  2323. {
  2324. # if defined (ZMQ_RCVBUF)
  2325. uint64_t value = rcvbuf;
  2326. int rc = zmq_setsockopt (zocket, ZMQ_RCVBUF, &value, sizeof (uint64_t));
  2327. assert (rc == 0 || zmq_errno () == ETERM);
  2328. # endif
  2329. }
  2330. // --------------------------------------------------------------------------
  2331. // Return socket ZMQ_RCVBUF value
  2332. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  2333. int
  2334. zsocket_rcvbuf (void *zocket)
  2335. {
  2336. # if defined (ZMQ_RCVBUF)
  2337. uint64_t rcvbuf;
  2338. size_t option_len = sizeof (uint64_t);
  2339. zmq_getsockopt (zocket, ZMQ_RCVBUF, &rcvbuf, &option_len);
  2340. return (int) rcvbuf;
  2341. # else
  2342. return 0;
  2343. # endif
  2344. }
  2345. // --------------------------------------------------------------------------
  2346. // Set socket ZMQ_LINGER value
  2347. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  2348. void
  2349. zsocket_set_linger (void *zocket, int linger)
  2350. {
  2351. # if defined (ZMQ_LINGER)
  2352. int rc = zmq_setsockopt (zocket, ZMQ_LINGER, &linger, sizeof (int));
  2353. assert (rc == 0 || zmq_errno () == ETERM);
  2354. # endif
  2355. }
  2356. // --------------------------------------------------------------------------
  2357. // Return socket ZMQ_LINGER value
  2358. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  2359. int
  2360. zsocket_linger (void *zocket)
  2361. {
  2362. # if defined (ZMQ_LINGER)
  2363. int linger;
  2364. size_t option_len = sizeof (int);
  2365. zmq_getsockopt (zocket, ZMQ_LINGER, &linger, &option_len);
  2366. return linger;
  2367. # else
  2368. return 0;
  2369. # endif
  2370. }
  2371. // --------------------------------------------------------------------------
  2372. // Set socket ZMQ_RECONNECT_IVL value
  2373. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  2374. void
  2375. zsocket_set_reconnect_ivl (void *zocket, int reconnect_ivl)
  2376. {
  2377. # if defined (ZMQ_RECONNECT_IVL)
  2378. int rc = zmq_setsockopt (zocket, ZMQ_RECONNECT_IVL, &reconnect_ivl, sizeof (int));
  2379. assert (rc == 0 || zmq_errno () == ETERM);
  2380. # endif
  2381. }
  2382. // --------------------------------------------------------------------------
  2383. // Return socket ZMQ_RECONNECT_IVL value
  2384. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  2385. int
  2386. zsocket_reconnect_ivl (void *zocket)
  2387. {
  2388. # if defined (ZMQ_RECONNECT_IVL)
  2389. int reconnect_ivl;
  2390. size_t option_len = sizeof (int);
  2391. zmq_getsockopt (zocket, ZMQ_RECONNECT_IVL, &reconnect_ivl, &option_len);
  2392. return reconnect_ivl;
  2393. # else
  2394. return 0;
  2395. # endif
  2396. }
  2397. // --------------------------------------------------------------------------
  2398. // Set socket ZMQ_RECONNECT_IVL_MAX value
  2399. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  2400. void
  2401. zsocket_set_reconnect_ivl_max (void *zocket, int reconnect_ivl_max)
  2402. {
  2403. # if defined (ZMQ_RECONNECT_IVL_MAX)
  2404. int rc = zmq_setsockopt (zocket, ZMQ_RECONNECT_IVL_MAX, &reconnect_ivl_max, sizeof (int));
  2405. assert (rc == 0 || zmq_errno () == ETERM);
  2406. # endif
  2407. }
  2408. // --------------------------------------------------------------------------
  2409. // Return socket ZMQ_RECONNECT_IVL_MAX value
  2410. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  2411. int
  2412. zsocket_reconnect_ivl_max (void *zocket)
  2413. {
  2414. # if defined (ZMQ_RECONNECT_IVL_MAX)
  2415. int reconnect_ivl_max;
  2416. size_t option_len = sizeof (int);
  2417. zmq_getsockopt (zocket, ZMQ_RECONNECT_IVL_MAX, &reconnect_ivl_max, &option_len);
  2418. return reconnect_ivl_max;
  2419. # else
  2420. return 0;
  2421. # endif
  2422. }
  2423. // --------------------------------------------------------------------------
  2424. // Set socket ZMQ_BACKLOG value
  2425. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  2426. void
  2427. zsocket_set_backlog (void *zocket, int backlog)
  2428. {
  2429. # if defined (ZMQ_BACKLOG)
  2430. int rc = zmq_setsockopt (zocket, ZMQ_BACKLOG, &backlog, sizeof (int));
  2431. assert (rc == 0 || zmq_errno () == ETERM);
  2432. # endif
  2433. }
  2434. // --------------------------------------------------------------------------
  2435. // Return socket ZMQ_BACKLOG value
  2436. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  2437. int
  2438. zsocket_backlog (void *zocket)
  2439. {
  2440. # if defined (ZMQ_BACKLOG)
  2441. int backlog;
  2442. size_t option_len = sizeof (int);
  2443. zmq_getsockopt (zocket, ZMQ_BACKLOG, &backlog, &option_len);
  2444. return backlog;
  2445. # else
  2446. return 0;
  2447. # endif
  2448. }
  2449. // --------------------------------------------------------------------------
  2450. // Set socket ZMQ_SUBSCRIBE value
  2451. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  2452. void
  2453. zsocket_set_subscribe (void *zocket, const char * subscribe)
  2454. {
  2455. # if defined (ZMQ_SUBSCRIBE)
  2456. if (zsocket_type (zocket) != ZMQ_SUB) {
  2457. printf ("ZMQ_SUBSCRIBE is not valid on %s sockets\n", zsocket_type_str (zocket));
  2458. assert (false);
  2459. }
  2460. int rc = zmq_setsockopt (zocket, ZMQ_SUBSCRIBE, subscribe, strlen (subscribe));
  2461. assert (rc == 0 || zmq_errno () == ETERM);
  2462. # endif
  2463. }
  2464. // --------------------------------------------------------------------------
  2465. // Set socket ZMQ_UNSUBSCRIBE value
  2466. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  2467. void
  2468. zsocket_set_unsubscribe (void *zocket, const char * unsubscribe)
  2469. {
  2470. # if defined (ZMQ_UNSUBSCRIBE)
  2471. if (zsocket_type (zocket) != ZMQ_SUB) {
  2472. printf ("ZMQ_UNSUBSCRIBE is not valid on %s sockets\n", zsocket_type_str (zocket));
  2473. assert (false);
  2474. }
  2475. int rc = zmq_setsockopt (zocket, ZMQ_UNSUBSCRIBE, unsubscribe, strlen (unsubscribe));
  2476. assert (rc == 0 || zmq_errno () == ETERM);
  2477. # endif
  2478. }
  2479. // --------------------------------------------------------------------------
  2480. // Return socket ZMQ_TYPE value
  2481. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  2482. int
  2483. zsocket_type (void *zocket)
  2484. {
  2485. # if defined (ZMQ_TYPE)
  2486. int type;
  2487. size_t option_len = sizeof (int);
  2488. zmq_getsockopt (zocket, ZMQ_TYPE, &type, &option_len);
  2489. return type;
  2490. # else
  2491. return 0;
  2492. # endif
  2493. }
  2494. // --------------------------------------------------------------------------
  2495. // Return socket ZMQ_RCVMORE value
  2496. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  2497. int
  2498. zsocket_rcvmore (void *zocket)
  2499. {
  2500. # if defined (ZMQ_RCVMORE)
  2501. int64_t rcvmore;
  2502. size_t option_len = sizeof (int64_t);
  2503. zmq_getsockopt (zocket, ZMQ_RCVMORE, &rcvmore, &option_len);
  2504. return (int) rcvmore;
  2505. # else
  2506. return 0;
  2507. # endif
  2508. }
  2509. // --------------------------------------------------------------------------
  2510. // Return socket ZMQ_FD value
  2511. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  2512. int
  2513. zsocket_fd (void *zocket)
  2514. {
  2515. # if defined (ZMQ_FD)
  2516. int fd;
  2517. size_t option_len = sizeof (int);
  2518. zmq_getsockopt (zocket, ZMQ_FD, &fd, &option_len);
  2519. return fd;
  2520. # else
  2521. return 0;
  2522. # endif
  2523. }
  2524. // --------------------------------------------------------------------------
  2525. // Return socket ZMQ_EVENTS value
  2526. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  2527. int
  2528. zsocket_events (void *zocket)
  2529. {
  2530. # if defined (ZMQ_EVENTS)
  2531. uint32_t events;
  2532. size_t option_len = sizeof (uint32_t);
  2533. zmq_getsockopt (zocket, ZMQ_EVENTS, &events, &option_len);
  2534. return (int) events;
  2535. # else
  2536. return 0;
  2537. # endif
  2538. }
  2539. #endif
  2540. // --------------------------------------------------------------------------
  2541. // Selftest
  2542. // *** GENERATED SOURCE CODE, DO NOT EDIT, SEE INSTRUCTIONS AT START ***
  2543. void
  2544. zsockopt_test (bool verbose)
  2545. {
  2546. printf (" * zsockopt: ");
  2547. // @selftest
  2548. zctx_t *ctx = zctx_new ();
  2549. assert (ctx);
  2550. void *zocket;
  2551. #if (ZMQ_VERSION_MAJOR == 4)
  2552. # if defined (ZMQ_TOS)
  2553. zocket = zsocket_new (ctx, ZMQ_DEALER);
  2554. assert (zocket);
  2555. zsocket_set_tos (zocket, 1);
  2556. assert (zsocket_tos (zocket) == 1);
  2557. zsocket_tos (zocket);
  2558. zsocket_destroy (ctx, zocket);
  2559. # endif
  2560. # if defined (ZMQ_ROUTER_HANDOVER)
  2561. zocket = zsocket_new (ctx, ZMQ_ROUTER);
  2562. assert (zocket);
  2563. zsocket_set_router_handover (zocket, 1);
  2564. zsocket_destroy (ctx, zocket);
  2565. # endif
  2566. # if defined (ZMQ_ROUTER_MANDATORY)
  2567. zocket = zsocket_new (ctx, ZMQ_ROUTER);
  2568. assert (zocket);
  2569. zsocket_set_router_mandatory (zocket, 1);
  2570. zsocket_destroy (ctx, zocket);
  2571. # endif
  2572. # if defined (ZMQ_PROBE_ROUTER)
  2573. zocket = zsocket_new (ctx, ZMQ_DEALER);
  2574. assert (zocket);
  2575. zsocket_set_probe_router (zocket, 1);
  2576. zsocket_destroy (ctx, zocket);
  2577. # endif
  2578. # if defined (ZMQ_REQ_RELAXED)
  2579. zocket = zsocket_new (ctx, ZMQ_REQ);
  2580. assert (zocket);
  2581. zsocket_set_req_relaxed (zocket, 1);
  2582. zsocket_destroy (ctx, zocket);
  2583. # endif
  2584. # if defined (ZMQ_REQ_CORRELATE)
  2585. zocket = zsocket_new (ctx, ZMQ_REQ);
  2586. assert (zocket);
  2587. zsocket_set_req_correlate (zocket, 1);
  2588. zsocket_destroy (ctx, zocket);
  2589. # endif
  2590. # if defined (ZMQ_CONFLATE)
  2591. zocket = zsocket_new (ctx, ZMQ_PUSH);
  2592. assert (zocket);
  2593. zsocket_set_conflate (zocket, 1);
  2594. zsocket_destroy (ctx, zocket);
  2595. # endif
  2596. # if defined (ZMQ_ZAP_DOMAIN)
  2597. zocket = zsocket_new (ctx, ZMQ_SUB);
  2598. assert (zocket);
  2599. zsocket_set_zap_domain (zocket, "test");
  2600. char *zap_domain = zsocket_zap_domain (zocket);
  2601. assert (zap_domain);
  2602. free (zap_domain);
  2603. zsocket_destroy (ctx, zocket);
  2604. # endif
  2605. # if defined (ZMQ_MECHANISM)
  2606. zocket = zsocket_new (ctx, ZMQ_SUB);
  2607. assert (zocket);
  2608. zsocket_mechanism (zocket);
  2609. zsocket_destroy (ctx, zocket);
  2610. # endif
  2611. # if defined (ZMQ_PLAIN_SERVER)
  2612. zocket = zsocket_new (ctx, ZMQ_PUB);
  2613. assert (zocket);
  2614. zsocket_set_plain_server (zocket, 1);
  2615. assert (zsocket_plain_server (zocket) == 1);
  2616. zsocket_plain_server (zocket);
  2617. zsocket_destroy (ctx, zocket);
  2618. # endif
  2619. # if defined (ZMQ_PLAIN_USERNAME)
  2620. zocket = zsocket_new (ctx, ZMQ_SUB);
  2621. assert (zocket);
  2622. zsocket_set_plain_username (zocket, "test");
  2623. char *plain_username = zsocket_plain_username (zocket);
  2624. assert (plain_username);
  2625. free (plain_username);
  2626. zsocket_destroy (ctx, zocket);
  2627. # endif
  2628. # if defined (ZMQ_PLAIN_PASSWORD)
  2629. zocket = zsocket_new (ctx, ZMQ_SUB);
  2630. assert (zocket);
  2631. zsocket_set_plain_password (zocket, "test");
  2632. char *plain_password = zsocket_plain_password (zocket);
  2633. assert (plain_password);
  2634. free (plain_password);
  2635. zsocket_destroy (ctx, zocket);
  2636. # endif
  2637. # if defined (ZMQ_IPV6)
  2638. zocket = zsocket_new (ctx, ZMQ_SUB);
  2639. assert (zocket);
  2640. zsocket_set_ipv6 (zocket, 1);
  2641. assert (zsocket_ipv6 (zocket) == 1);
  2642. zsocket_ipv6 (zocket);
  2643. zsocket_destroy (ctx, zocket);
  2644. # endif
  2645. # if defined (ZMQ_IMMEDIATE)
  2646. zocket = zsocket_new (ctx, ZMQ_DEALER);
  2647. assert (zocket);
  2648. zsocket_set_immediate (zocket, 1);
  2649. assert (zsocket_immediate (zocket) == 1);
  2650. zsocket_immediate (zocket);
  2651. zsocket_destroy (ctx, zocket);
  2652. # endif
  2653. # if defined (ZMQ_ROUTER_RAW)
  2654. zocket = zsocket_new (ctx, ZMQ_ROUTER);
  2655. assert (zocket);
  2656. zsocket_set_router_raw (zocket, 1);
  2657. zsocket_destroy (ctx, zocket);
  2658. # endif
  2659. # if defined (ZMQ_IPV4ONLY)
  2660. zocket = zsocket_new (ctx, ZMQ_SUB);
  2661. assert (zocket);
  2662. zsocket_set_ipv4only (zocket, 1);
  2663. assert (zsocket_ipv4only (zocket) == 1);
  2664. zsocket_ipv4only (zocket);
  2665. zsocket_destroy (ctx, zocket);
  2666. # endif
  2667. # if defined (ZMQ_DELAY_ATTACH_ON_CONNECT)
  2668. zocket = zsocket_new (ctx, ZMQ_PUB);
  2669. assert (zocket);
  2670. zsocket_set_delay_attach_on_connect (zocket, 1);
  2671. zsocket_destroy (ctx, zocket);
  2672. # endif
  2673. # if defined (ZMQ_TYPE)
  2674. zocket = zsocket_new (ctx, ZMQ_SUB);
  2675. assert (zocket);
  2676. zsocket_type (zocket);
  2677. zsocket_destroy (ctx, zocket);
  2678. # endif
  2679. # if defined (ZMQ_SNDHWM)
  2680. zocket = zsocket_new (ctx, ZMQ_PUB);
  2681. assert (zocket);
  2682. zsocket_set_sndhwm (zocket, 1);
  2683. assert (zsocket_sndhwm (zocket) == 1);
  2684. zsocket_sndhwm (zocket);
  2685. zsocket_destroy (ctx, zocket);
  2686. # endif
  2687. # if defined (ZMQ_RCVHWM)
  2688. zocket = zsocket_new (ctx, ZMQ_SUB);
  2689. assert (zocket);
  2690. zsocket_set_rcvhwm (zocket, 1);
  2691. assert (zsocket_rcvhwm (zocket) == 1);
  2692. zsocket_rcvhwm (zocket);
  2693. zsocket_destroy (ctx, zocket);
  2694. # endif
  2695. # if defined (ZMQ_AFFINITY)
  2696. zocket = zsocket_new (ctx, ZMQ_SUB);
  2697. assert (zocket);
  2698. zsocket_set_affinity (zocket, 1);
  2699. assert (zsocket_affinity (zocket) == 1);
  2700. zsocket_affinity (zocket);
  2701. zsocket_destroy (ctx, zocket);
  2702. # endif
  2703. # if defined (ZMQ_SUBSCRIBE)
  2704. zocket = zsocket_new (ctx, ZMQ_SUB);
  2705. assert (zocket);
  2706. zsocket_set_subscribe (zocket, "test");
  2707. zsocket_destroy (ctx, zocket);
  2708. # endif
  2709. # if defined (ZMQ_UNSUBSCRIBE)
  2710. zocket = zsocket_new (ctx, ZMQ_SUB);
  2711. assert (zocket);
  2712. zsocket_set_unsubscribe (zocket, "test");
  2713. zsocket_destroy (ctx, zocket);
  2714. # endif
  2715. # if defined (ZMQ_IDENTITY)
  2716. zocket = zsocket_new (ctx, ZMQ_DEALER);
  2717. assert (zocket);
  2718. zsocket_set_identity (zocket, "test");
  2719. char *identity = zsocket_identity (zocket);
  2720. assert (identity);
  2721. free (identity);
  2722. zsocket_destroy (ctx, zocket);
  2723. # endif
  2724. # if defined (ZMQ_RATE)
  2725. zocket = zsocket_new (ctx, ZMQ_SUB);
  2726. assert (zocket);
  2727. zsocket_set_rate (zocket, 1);
  2728. assert (zsocket_rate (zocket) == 1);
  2729. zsocket_rate (zocket);
  2730. zsocket_destroy (ctx, zocket);
  2731. # endif
  2732. # if defined (ZMQ_RECOVERY_IVL)
  2733. zocket = zsocket_new (ctx, ZMQ_SUB);
  2734. assert (zocket);
  2735. zsocket_set_recovery_ivl (zocket, 1);
  2736. assert (zsocket_recovery_ivl (zocket) == 1);
  2737. zsocket_recovery_ivl (zocket);
  2738. zsocket_destroy (ctx, zocket);
  2739. # endif
  2740. # if defined (ZMQ_SNDBUF)
  2741. zocket = zsocket_new (ctx, ZMQ_PUB);
  2742. assert (zocket);
  2743. zsocket_set_sndbuf (zocket, 1);
  2744. assert (zsocket_sndbuf (zocket) == 1);
  2745. zsocket_sndbuf (zocket);
  2746. zsocket_destroy (ctx, zocket);
  2747. # endif
  2748. # if defined (ZMQ_RCVBUF)
  2749. zocket = zsocket_new (ctx, ZMQ_SUB);
  2750. assert (zocket);
  2751. zsocket_set_rcvbuf (zocket, 1);
  2752. assert (zsocket_rcvbuf (zocket) == 1);
  2753. zsocket_rcvbuf (zocket);
  2754. zsocket_destroy (ctx, zocket);
  2755. # endif
  2756. # if defined (ZMQ_LINGER)
  2757. zocket = zsocket_new (ctx, ZMQ_SUB);
  2758. assert (zocket);
  2759. zsocket_set_linger (zocket, 1);
  2760. assert (zsocket_linger (zocket) == 1);
  2761. zsocket_linger (zocket);
  2762. zsocket_destroy (ctx, zocket);
  2763. # endif
  2764. # if defined (ZMQ_RECONNECT_IVL)
  2765. zocket = zsocket_new (ctx, ZMQ_SUB);
  2766. assert (zocket);
  2767. zsocket_set_reconnect_ivl (zocket, 1);
  2768. assert (zsocket_reconnect_ivl (zocket) == 1);
  2769. zsocket_reconnect_ivl (zocket);
  2770. zsocket_destroy (ctx, zocket);
  2771. # endif
  2772. # if defined (ZMQ_RECONNECT_IVL_MAX)
  2773. zocket = zsocket_new (ctx, ZMQ_SUB);
  2774. assert (zocket);
  2775. zsocket_set_reconnect_ivl_max (zocket, 1);
  2776. assert (zsocket_reconnect_ivl_max (zocket) == 1);
  2777. zsocket_reconnect_ivl_max (zocket);
  2778. zsocket_destroy (ctx, zocket);
  2779. # endif
  2780. # if defined (ZMQ_BACKLOG)
  2781. zocket = zsocket_new (ctx, ZMQ_SUB);
  2782. assert (zocket);
  2783. zsocket_set_backlog (zocket, 1);
  2784. assert (zsocket_backlog (zocket) == 1);
  2785. zsocket_backlog (zocket);
  2786. zsocket_destroy (ctx, zocket);
  2787. # endif
  2788. # if defined (ZMQ_MAXMSGSIZE)
  2789. zocket = zsocket_new (ctx, ZMQ_SUB);
  2790. assert (zocket);
  2791. zsocket_set_maxmsgsize (zocket, 1);
  2792. assert (zsocket_maxmsgsize (zocket) == 1);
  2793. zsocket_maxmsgsize (zocket);
  2794. zsocket_destroy (ctx, zocket);
  2795. # endif
  2796. # if defined (ZMQ_MULTICAST_HOPS)
  2797. zocket = zsocket_new (ctx, ZMQ_SUB);
  2798. assert (zocket);
  2799. zsocket_set_multicast_hops (zocket, 1);
  2800. assert (zsocket_multicast_hops (zocket) == 1);
  2801. zsocket_multicast_hops (zocket);
  2802. zsocket_destroy (ctx, zocket);
  2803. # endif
  2804. # if defined (ZMQ_RCVTIMEO)
  2805. zocket = zsocket_new (ctx, ZMQ_SUB);
  2806. assert (zocket);
  2807. zsocket_set_rcvtimeo (zocket, 1);
  2808. assert (zsocket_rcvtimeo (zocket) == 1);
  2809. zsocket_rcvtimeo (zocket);
  2810. zsocket_destroy (ctx, zocket);
  2811. # endif
  2812. # if defined (ZMQ_SNDTIMEO)
  2813. zocket = zsocket_new (ctx, ZMQ_SUB);
  2814. assert (zocket);
  2815. zsocket_set_sndtimeo (zocket, 1);
  2816. assert (zsocket_sndtimeo (zocket) == 1);
  2817. zsocket_sndtimeo (zocket);
  2818. zsocket_destroy (ctx, zocket);
  2819. # endif
  2820. # if defined (ZMQ_XPUB_VERBOSE)
  2821. zocket = zsocket_new (ctx, ZMQ_XPUB);
  2822. assert (zocket);
  2823. zsocket_set_xpub_verbose (zocket, 1);
  2824. zsocket_destroy (ctx, zocket);
  2825. # endif
  2826. # if defined (ZMQ_TCP_KEEPALIVE)
  2827. zocket = zsocket_new (ctx, ZMQ_SUB);
  2828. assert (zocket);
  2829. zsocket_set_tcp_keepalive (zocket, 1);
  2830. assert (zsocket_tcp_keepalive (zocket) == 1);
  2831. zsocket_tcp_keepalive (zocket);
  2832. zsocket_destroy (ctx, zocket);
  2833. # endif
  2834. # if defined (ZMQ_TCP_KEEPALIVE_IDLE)
  2835. zocket = zsocket_new (ctx, ZMQ_SUB);
  2836. assert (zocket);
  2837. zsocket_set_tcp_keepalive_idle (zocket, 1);
  2838. assert (zsocket_tcp_keepalive_idle (zocket) == 1);
  2839. zsocket_tcp_keepalive_idle (zocket);
  2840. zsocket_destroy (ctx, zocket);
  2841. # endif
  2842. # if defined (ZMQ_TCP_KEEPALIVE_CNT)
  2843. zocket = zsocket_new (ctx, ZMQ_SUB);
  2844. assert (zocket);
  2845. zsocket_set_tcp_keepalive_cnt (zocket, 1);
  2846. assert (zsocket_tcp_keepalive_cnt (zocket) == 1);
  2847. zsocket_tcp_keepalive_cnt (zocket);
  2848. zsocket_destroy (ctx, zocket);
  2849. # endif
  2850. # if defined (ZMQ_TCP_KEEPALIVE_INTVL)
  2851. zocket = zsocket_new (ctx, ZMQ_SUB);
  2852. assert (zocket);
  2853. zsocket_set_tcp_keepalive_intvl (zocket, 1);
  2854. assert (zsocket_tcp_keepalive_intvl (zocket) == 1);
  2855. zsocket_tcp_keepalive_intvl (zocket);
  2856. zsocket_destroy (ctx, zocket);
  2857. # endif
  2858. # if defined (ZMQ_TCP_ACCEPT_FILTER)
  2859. zocket = zsocket_new (ctx, ZMQ_SUB);
  2860. assert (zocket);
  2861. zsocket_set_tcp_accept_filter (zocket, "127.0.0.1");
  2862. char *tcp_accept_filter = zsocket_tcp_accept_filter (zocket);
  2863. assert (tcp_accept_filter);
  2864. free (tcp_accept_filter);
  2865. zsocket_destroy (ctx, zocket);
  2866. # endif
  2867. # if defined (ZMQ_RCVMORE)
  2868. zocket = zsocket_new (ctx, ZMQ_SUB);
  2869. assert (zocket);
  2870. zsocket_rcvmore (zocket);
  2871. zsocket_destroy (ctx, zocket);
  2872. # endif
  2873. # if defined (ZMQ_FD)
  2874. zocket = zsocket_new (ctx, ZMQ_SUB);
  2875. assert (zocket);
  2876. zsocket_fd (zocket);
  2877. zsocket_destroy (ctx, zocket);
  2878. # endif
  2879. # if defined (ZMQ_EVENTS)
  2880. zocket = zsocket_new (ctx, ZMQ_SUB);
  2881. assert (zocket);
  2882. zsocket_events (zocket);
  2883. zsocket_destroy (ctx, zocket);
  2884. # endif
  2885. # if defined (ZMQ_LAST_ENDPOINT)
  2886. zocket = zsocket_new (ctx, ZMQ_SUB);
  2887. assert (zocket);
  2888. char *last_endpoint = zsocket_last_endpoint (zocket);
  2889. assert (last_endpoint);
  2890. free (last_endpoint);
  2891. zsocket_destroy (ctx, zocket);
  2892. # endif
  2893. #endif
  2894. #if (ZMQ_VERSION_MAJOR == 3)
  2895. # if defined (ZMQ_ROUTER_RAW)
  2896. zocket = zsocket_new (ctx, ZMQ_ROUTER);
  2897. assert (zocket);
  2898. zsocket_set_router_raw (zocket, 1);
  2899. zsocket_destroy (ctx, zocket);
  2900. # endif
  2901. # if defined (ZMQ_IPV4ONLY)
  2902. zocket = zsocket_new (ctx, ZMQ_SUB);
  2903. assert (zocket);
  2904. zsocket_set_ipv4only (zocket, 1);
  2905. assert (zsocket_ipv4only (zocket) == 1);
  2906. zsocket_ipv4only (zocket);
  2907. zsocket_destroy (ctx, zocket);
  2908. # endif
  2909. # if defined (ZMQ_DELAY_ATTACH_ON_CONNECT)
  2910. zocket = zsocket_new (ctx, ZMQ_PUB);
  2911. assert (zocket);
  2912. zsocket_set_delay_attach_on_connect (zocket, 1);
  2913. zsocket_destroy (ctx, zocket);
  2914. # endif
  2915. # if defined (ZMQ_TYPE)
  2916. zocket = zsocket_new (ctx, ZMQ_SUB);
  2917. assert (zocket);
  2918. zsocket_type (zocket);
  2919. zsocket_destroy (ctx, zocket);
  2920. # endif
  2921. # if defined (ZMQ_SNDHWM)
  2922. zocket = zsocket_new (ctx, ZMQ_PUB);
  2923. assert (zocket);
  2924. zsocket_set_sndhwm (zocket, 1);
  2925. assert (zsocket_sndhwm (zocket) == 1);
  2926. zsocket_sndhwm (zocket);
  2927. zsocket_destroy (ctx, zocket);
  2928. # endif
  2929. # if defined (ZMQ_RCVHWM)
  2930. zocket = zsocket_new (ctx, ZMQ_SUB);
  2931. assert (zocket);
  2932. zsocket_set_rcvhwm (zocket, 1);
  2933. assert (zsocket_rcvhwm (zocket) == 1);
  2934. zsocket_rcvhwm (zocket);
  2935. zsocket_destroy (ctx, zocket);
  2936. # endif
  2937. # if defined (ZMQ_AFFINITY)
  2938. zocket = zsocket_new (ctx, ZMQ_SUB);
  2939. assert (zocket);
  2940. zsocket_set_affinity (zocket, 1);
  2941. assert (zsocket_affinity (zocket) == 1);
  2942. zsocket_affinity (zocket);
  2943. zsocket_destroy (ctx, zocket);
  2944. # endif
  2945. # if defined (ZMQ_SUBSCRIBE)
  2946. zocket = zsocket_new (ctx, ZMQ_SUB);
  2947. assert (zocket);
  2948. zsocket_set_subscribe (zocket, "test");
  2949. zsocket_destroy (ctx, zocket);
  2950. # endif
  2951. # if defined (ZMQ_UNSUBSCRIBE)
  2952. zocket = zsocket_new (ctx, ZMQ_SUB);
  2953. assert (zocket);
  2954. zsocket_set_unsubscribe (zocket, "test");
  2955. zsocket_destroy (ctx, zocket);
  2956. # endif
  2957. # if defined (ZMQ_IDENTITY)
  2958. zocket = zsocket_new (ctx, ZMQ_DEALER);
  2959. assert (zocket);
  2960. zsocket_set_identity (zocket, "test");
  2961. char *identity = zsocket_identity (zocket);
  2962. assert (identity);
  2963. free (identity);
  2964. zsocket_destroy (ctx, zocket);
  2965. # endif
  2966. # if defined (ZMQ_RATE)
  2967. zocket = zsocket_new (ctx, ZMQ_SUB);
  2968. assert (zocket);
  2969. zsocket_set_rate (zocket, 1);
  2970. assert (zsocket_rate (zocket) == 1);
  2971. zsocket_rate (zocket);
  2972. zsocket_destroy (ctx, zocket);
  2973. # endif
  2974. # if defined (ZMQ_RECOVERY_IVL)
  2975. zocket = zsocket_new (ctx, ZMQ_SUB);
  2976. assert (zocket);
  2977. zsocket_set_recovery_ivl (zocket, 1);
  2978. assert (zsocket_recovery_ivl (zocket) == 1);
  2979. zsocket_recovery_ivl (zocket);
  2980. zsocket_destroy (ctx, zocket);
  2981. # endif
  2982. # if defined (ZMQ_SNDBUF)
  2983. zocket = zsocket_new (ctx, ZMQ_PUB);
  2984. assert (zocket);
  2985. zsocket_set_sndbuf (zocket, 1);
  2986. assert (zsocket_sndbuf (zocket) == 1);
  2987. zsocket_sndbuf (zocket);
  2988. zsocket_destroy (ctx, zocket);
  2989. # endif
  2990. # if defined (ZMQ_RCVBUF)
  2991. zocket = zsocket_new (ctx, ZMQ_SUB);
  2992. assert (zocket);
  2993. zsocket_set_rcvbuf (zocket, 1);
  2994. assert (zsocket_rcvbuf (zocket) == 1);
  2995. zsocket_rcvbuf (zocket);
  2996. zsocket_destroy (ctx, zocket);
  2997. # endif
  2998. # if defined (ZMQ_LINGER)
  2999. zocket = zsocket_new (ctx, ZMQ_SUB);
  3000. assert (zocket);
  3001. zsocket_set_linger (zocket, 1);
  3002. assert (zsocket_linger (zocket) == 1);
  3003. zsocket_linger (zocket);
  3004. zsocket_destroy (ctx, zocket);
  3005. # endif
  3006. # if defined (ZMQ_RECONNECT_IVL)
  3007. zocket = zsocket_new (ctx, ZMQ_SUB);
  3008. assert (zocket);
  3009. zsocket_set_reconnect_ivl (zocket, 1);
  3010. assert (zsocket_reconnect_ivl (zocket) == 1);
  3011. zsocket_reconnect_ivl (zocket);
  3012. zsocket_destroy (ctx, zocket);
  3013. # endif
  3014. # if defined (ZMQ_RECONNECT_IVL_MAX)
  3015. zocket = zsocket_new (ctx, ZMQ_SUB);
  3016. assert (zocket);
  3017. zsocket_set_reconnect_ivl_max (zocket, 1);
  3018. assert (zsocket_reconnect_ivl_max (zocket) == 1);
  3019. zsocket_reconnect_ivl_max (zocket);
  3020. zsocket_destroy (ctx, zocket);
  3021. # endif
  3022. # if defined (ZMQ_BACKLOG)
  3023. zocket = zsocket_new (ctx, ZMQ_SUB);
  3024. assert (zocket);
  3025. zsocket_set_backlog (zocket, 1);
  3026. assert (zsocket_backlog (zocket) == 1);
  3027. zsocket_backlog (zocket);
  3028. zsocket_destroy (ctx, zocket);
  3029. # endif
  3030. # if defined (ZMQ_MAXMSGSIZE)
  3031. zocket = zsocket_new (ctx, ZMQ_SUB);
  3032. assert (zocket);
  3033. zsocket_set_maxmsgsize (zocket, 1);
  3034. assert (zsocket_maxmsgsize (zocket) == 1);
  3035. zsocket_maxmsgsize (zocket);
  3036. zsocket_destroy (ctx, zocket);
  3037. # endif
  3038. # if defined (ZMQ_MULTICAST_HOPS)
  3039. zocket = zsocket_new (ctx, ZMQ_SUB);
  3040. assert (zocket);
  3041. zsocket_set_multicast_hops (zocket, 1);
  3042. assert (zsocket_multicast_hops (zocket) == 1);
  3043. zsocket_multicast_hops (zocket);
  3044. zsocket_destroy (ctx, zocket);
  3045. # endif
  3046. # if defined (ZMQ_RCVTIMEO)
  3047. zocket = zsocket_new (ctx, ZMQ_SUB);
  3048. assert (zocket);
  3049. zsocket_set_rcvtimeo (zocket, 1);
  3050. assert (zsocket_rcvtimeo (zocket) == 1);
  3051. zsocket_rcvtimeo (zocket);
  3052. zsocket_destroy (ctx, zocket);
  3053. # endif
  3054. # if defined (ZMQ_SNDTIMEO)
  3055. zocket = zsocket_new (ctx, ZMQ_SUB);
  3056. assert (zocket);
  3057. zsocket_set_sndtimeo (zocket, 1);
  3058. assert (zsocket_sndtimeo (zocket) == 1);
  3059. zsocket_sndtimeo (zocket);
  3060. zsocket_destroy (ctx, zocket);
  3061. # endif
  3062. # if defined (ZMQ_XPUB_VERBOSE)
  3063. zocket = zsocket_new (ctx, ZMQ_XPUB);
  3064. assert (zocket);
  3065. zsocket_set_xpub_verbose (zocket, 1);
  3066. zsocket_destroy (ctx, zocket);
  3067. # endif
  3068. # if defined (ZMQ_TCP_KEEPALIVE)
  3069. zocket = zsocket_new (ctx, ZMQ_SUB);
  3070. assert (zocket);
  3071. zsocket_set_tcp_keepalive (zocket, 1);
  3072. assert (zsocket_tcp_keepalive (zocket) == 1);
  3073. zsocket_tcp_keepalive (zocket);
  3074. zsocket_destroy (ctx, zocket);
  3075. # endif
  3076. # if defined (ZMQ_TCP_KEEPALIVE_IDLE)
  3077. zocket = zsocket_new (ctx, ZMQ_SUB);
  3078. assert (zocket);
  3079. zsocket_set_tcp_keepalive_idle (zocket, 1);
  3080. assert (zsocket_tcp_keepalive_idle (zocket) == 1);
  3081. zsocket_tcp_keepalive_idle (zocket);
  3082. zsocket_destroy (ctx, zocket);
  3083. # endif
  3084. # if defined (ZMQ_TCP_KEEPALIVE_CNT)
  3085. zocket = zsocket_new (ctx, ZMQ_SUB);
  3086. assert (zocket);
  3087. zsocket_set_tcp_keepalive_cnt (zocket, 1);
  3088. assert (zsocket_tcp_keepalive_cnt (zocket) == 1);
  3089. zsocket_tcp_keepalive_cnt (zocket);
  3090. zsocket_destroy (ctx, zocket);
  3091. # endif
  3092. # if defined (ZMQ_TCP_KEEPALIVE_INTVL)
  3093. zocket = zsocket_new (ctx, ZMQ_SUB);
  3094. assert (zocket);
  3095. zsocket_set_tcp_keepalive_intvl (zocket, 1);
  3096. assert (zsocket_tcp_keepalive_intvl (zocket) == 1);
  3097. zsocket_tcp_keepalive_intvl (zocket);
  3098. zsocket_destroy (ctx, zocket);
  3099. # endif
  3100. # if defined (ZMQ_TCP_ACCEPT_FILTER)
  3101. zocket = zsocket_new (ctx, ZMQ_SUB);
  3102. assert (zocket);
  3103. zsocket_set_tcp_accept_filter (zocket, "127.0.0.1");
  3104. char *tcp_accept_filter = zsocket_tcp_accept_filter (zocket);
  3105. assert (tcp_accept_filter);
  3106. free (tcp_accept_filter);
  3107. zsocket_destroy (ctx, zocket);
  3108. # endif
  3109. # if defined (ZMQ_RCVMORE)
  3110. zocket = zsocket_new (ctx, ZMQ_SUB);
  3111. assert (zocket);
  3112. zsocket_rcvmore (zocket);
  3113. zsocket_destroy (ctx, zocket);
  3114. # endif
  3115. # if defined (ZMQ_FD)
  3116. zocket = zsocket_new (ctx, ZMQ_SUB);
  3117. assert (zocket);
  3118. zsocket_fd (zocket);
  3119. zsocket_destroy (ctx, zocket);
  3120. # endif
  3121. # if defined (ZMQ_EVENTS)
  3122. zocket = zsocket_new (ctx, ZMQ_SUB);
  3123. assert (zocket);
  3124. zsocket_events (zocket);
  3125. zsocket_destroy (ctx, zocket);
  3126. # endif
  3127. # if defined (ZMQ_LAST_ENDPOINT)
  3128. zocket = zsocket_new (ctx, ZMQ_SUB);
  3129. assert (zocket);
  3130. char *last_endpoint = zsocket_last_endpoint (zocket);
  3131. assert (last_endpoint);
  3132. free (last_endpoint);
  3133. zsocket_destroy (ctx, zocket);
  3134. # endif
  3135. #endif
  3136. #if (ZMQ_VERSION_MAJOR == 2)
  3137. # if defined (ZMQ_HWM)
  3138. zocket = zsocket_new (ctx, ZMQ_SUB);
  3139. assert (zocket);
  3140. zsocket_set_hwm (zocket, 1);
  3141. assert (zsocket_hwm (zocket) == 1);
  3142. zsocket_hwm (zocket);
  3143. zsocket_destroy (ctx, zocket);
  3144. # endif
  3145. # if defined (ZMQ_SWAP)
  3146. zocket = zsocket_new (ctx, ZMQ_SUB);
  3147. assert (zocket);
  3148. zsocket_set_swap (zocket, 1);
  3149. assert (zsocket_swap (zocket) == 1);
  3150. zsocket_swap (zocket);
  3151. zsocket_destroy (ctx, zocket);
  3152. # endif
  3153. # if defined (ZMQ_AFFINITY)
  3154. zocket = zsocket_new (ctx, ZMQ_SUB);
  3155. assert (zocket);
  3156. zsocket_set_affinity (zocket, 1);
  3157. assert (zsocket_affinity (zocket) == 1);
  3158. zsocket_affinity (zocket);
  3159. zsocket_destroy (ctx, zocket);
  3160. # endif
  3161. # if defined (ZMQ_IDENTITY)
  3162. zocket = zsocket_new (ctx, ZMQ_SUB);
  3163. assert (zocket);
  3164. zsocket_set_identity (zocket, "test");
  3165. char *identity = zsocket_identity (zocket);
  3166. assert (identity);
  3167. free (identity);
  3168. zsocket_destroy (ctx, zocket);
  3169. # endif
  3170. # if defined (ZMQ_RATE)
  3171. zocket = zsocket_new (ctx, ZMQ_SUB);
  3172. assert (zocket);
  3173. zsocket_set_rate (zocket, 1);
  3174. assert (zsocket_rate (zocket) == 1);
  3175. zsocket_rate (zocket);
  3176. zsocket_destroy (ctx, zocket);
  3177. # endif
  3178. # if defined (ZMQ_RECOVERY_IVL)
  3179. zocket = zsocket_new (ctx, ZMQ_SUB);
  3180. assert (zocket);
  3181. zsocket_set_recovery_ivl (zocket, 1);
  3182. assert (zsocket_recovery_ivl (zocket) == 1);
  3183. zsocket_recovery_ivl (zocket);
  3184. zsocket_destroy (ctx, zocket);
  3185. # endif
  3186. # if defined (ZMQ_RECOVERY_IVL_MSEC)
  3187. zocket = zsocket_new (ctx, ZMQ_SUB);
  3188. assert (zocket);
  3189. zsocket_set_recovery_ivl_msec (zocket, 1);
  3190. assert (zsocket_recovery_ivl_msec (zocket) == 1);
  3191. zsocket_recovery_ivl_msec (zocket);
  3192. zsocket_destroy (ctx, zocket);
  3193. # endif
  3194. # if defined (ZMQ_MCAST_LOOP)
  3195. zocket = zsocket_new (ctx, ZMQ_SUB);
  3196. assert (zocket);
  3197. zsocket_set_mcast_loop (zocket, 1);
  3198. assert (zsocket_mcast_loop (zocket) == 1);
  3199. zsocket_mcast_loop (zocket);
  3200. zsocket_destroy (ctx, zocket);
  3201. # endif
  3202. # if (ZMQ_VERSION_MINOR == 2)
  3203. # if defined (ZMQ_RCVTIMEO)
  3204. zocket = zsocket_new (ctx, ZMQ_SUB);
  3205. assert (zocket);
  3206. zsocket_set_rcvtimeo (zocket, 1);
  3207. assert (zsocket_rcvtimeo (zocket) == 1);
  3208. zsocket_rcvtimeo (zocket);
  3209. zsocket_destroy (ctx, zocket);
  3210. # endif
  3211. # endif
  3212. # if (ZMQ_VERSION_MINOR == 2)
  3213. # if defined (ZMQ_SNDTIMEO)
  3214. zocket = zsocket_new (ctx, ZMQ_SUB);
  3215. assert (zocket);
  3216. zsocket_set_sndtimeo (zocket, 1);
  3217. assert (zsocket_sndtimeo (zocket) == 1);
  3218. zsocket_sndtimeo (zocket);
  3219. zsocket_destroy (ctx, zocket);
  3220. # endif
  3221. # endif
  3222. # if defined (ZMQ_SNDBUF)
  3223. zocket = zsocket_new (ctx, ZMQ_SUB);
  3224. assert (zocket);
  3225. zsocket_set_sndbuf (zocket, 1);
  3226. assert (zsocket_sndbuf (zocket) == 1);
  3227. zsocket_sndbuf (zocket);
  3228. zsocket_destroy (ctx, zocket);
  3229. # endif
  3230. # if defined (ZMQ_RCVBUF)
  3231. zocket = zsocket_new (ctx, ZMQ_SUB);
  3232. assert (zocket);
  3233. zsocket_set_rcvbuf (zocket, 1);
  3234. assert (zsocket_rcvbuf (zocket) == 1);
  3235. zsocket_rcvbuf (zocket);
  3236. zsocket_destroy (ctx, zocket);
  3237. # endif
  3238. # if defined (ZMQ_LINGER)
  3239. zocket = zsocket_new (ctx, ZMQ_SUB);
  3240. assert (zocket);
  3241. zsocket_set_linger (zocket, 1);
  3242. assert (zsocket_linger (zocket) == 1);
  3243. zsocket_linger (zocket);
  3244. zsocket_destroy (ctx, zocket);
  3245. # endif
  3246. # if defined (ZMQ_RECONNECT_IVL)
  3247. zocket = zsocket_new (ctx, ZMQ_SUB);
  3248. assert (zocket);
  3249. zsocket_set_reconnect_ivl (zocket, 1);
  3250. assert (zsocket_reconnect_ivl (zocket) == 1);
  3251. zsocket_reconnect_ivl (zocket);
  3252. zsocket_destroy (ctx, zocket);
  3253. # endif
  3254. # if defined (ZMQ_RECONNECT_IVL_MAX)
  3255. zocket = zsocket_new (ctx, ZMQ_SUB);
  3256. assert (zocket);
  3257. zsocket_set_reconnect_ivl_max (zocket, 1);
  3258. assert (zsocket_reconnect_ivl_max (zocket) == 1);
  3259. zsocket_reconnect_ivl_max (zocket);
  3260. zsocket_destroy (ctx, zocket);
  3261. # endif
  3262. # if defined (ZMQ_BACKLOG)
  3263. zocket = zsocket_new (ctx, ZMQ_SUB);
  3264. assert (zocket);
  3265. zsocket_set_backlog (zocket, 1);
  3266. assert (zsocket_backlog (zocket) == 1);
  3267. zsocket_backlog (zocket);
  3268. zsocket_destroy (ctx, zocket);
  3269. # endif
  3270. # if defined (ZMQ_SUBSCRIBE)
  3271. zocket = zsocket_new (ctx, ZMQ_SUB);
  3272. assert (zocket);
  3273. zsocket_set_subscribe (zocket, "test");
  3274. zsocket_destroy (ctx, zocket);
  3275. # endif
  3276. # if defined (ZMQ_UNSUBSCRIBE)
  3277. zocket = zsocket_new (ctx, ZMQ_SUB);
  3278. assert (zocket);
  3279. zsocket_set_unsubscribe (zocket, "test");
  3280. zsocket_destroy (ctx, zocket);
  3281. # endif
  3282. # if defined (ZMQ_TYPE)
  3283. zocket = zsocket_new (ctx, ZMQ_SUB);
  3284. assert (zocket);
  3285. zsocket_type (zocket);
  3286. zsocket_destroy (ctx, zocket);
  3287. # endif
  3288. # if defined (ZMQ_RCVMORE)
  3289. zocket = zsocket_new (ctx, ZMQ_SUB);
  3290. assert (zocket);
  3291. zsocket_rcvmore (zocket);
  3292. zsocket_destroy (ctx, zocket);
  3293. # endif
  3294. # if defined (ZMQ_FD)
  3295. zocket = zsocket_new (ctx, ZMQ_SUB);
  3296. assert (zocket);
  3297. zsocket_fd (zocket);
  3298. zsocket_destroy (ctx, zocket);
  3299. # endif
  3300. # if defined (ZMQ_EVENTS)
  3301. zocket = zsocket_new (ctx, ZMQ_SUB);
  3302. assert (zocket);
  3303. zsocket_events (zocket);
  3304. zsocket_destroy (ctx, zocket);
  3305. # endif
  3306. #endif
  3307. zctx_destroy (&ctx);
  3308. // @end
  3309. printf ("OK\n");
  3310. }