|
|
| version 1.1.2.1, 2011/11/29 23:31:57 | version 1.3, 2012/07/03 09:02:50 |
|---|---|
| Line 1 | Line 1 |
| #include "global.h" | #include "global.h" |
| #include "mqttd.h" | |
| #include "mqttd_calls.h" | |
| inline int | |
| srv_Socket(cfg_root_t * __restrict cfg) | |
| { | |
| int s = -1; | |
| ait_val_t v; | |
| u_short port; | |
| io_sockaddr_t sa = {{ 0 }}; | |
| ioTRACE(2); | |
| assert(cfg); | |
| cfg_loadAttribute(cfg, "mqttd", "port", &v, MQTT_PORT); | |
| port = strtol(AIT_GET_STR(&v), NULL, 0); | |
| AIT_FREE_VAL(&v); | |
| cfg_loadAttribute(cfg, "mqttd", "listen", &v, MQTT_HOST); | |
| if (!io_gethostbyname(AIT_GET_STR(&v), port, &sa)) { | |
| ioLIBERR(io); | |
| AIT_FREE_VAL(&v); | |
| return -1; | |
| } else | |
| AIT_FREE_VAL(&v); | |
| s = mqtt_srv_Create(&sa.sa, sa.sa.sa_len); | |
| if (s == -1) { | |
| ioLIBERR(mqtt); | |
| return -1; | |
| } | |
| ioDEBUG(7, "Created socket=%d\n", s); | |
| return s; | |
| } | |
| inline int | |
| srv_Close(int s) | |
| { | |
| ioTRACE(2); | |
| ioDEBUG(7, "Closing socket=%d\n", s); | |
| return mqtt_srv_Destroy(s); | |
| } |