diff options
Diffstat (limited to 'src/ipc')
| -rwxr-xr-x | src/ipc/ipc.c | 18 | ||||
| -rwxr-xr-x | src/ipc/ipc.h | 12 |
2 files changed, 15 insertions, 15 deletions
diff --git a/src/ipc/ipc.c b/src/ipc/ipc.c index 98ffe6e..69def17 100755 --- a/src/ipc/ipc.c +++ b/src/ipc/ipc.c @@ -1,7 +1,7 @@ #include "ipc.h" -ipc_sender *setup_ipc_sender(struct str addr, int backlog){ +ipc_sender *setup_ipc_sender(str addr, int backlog){ ipc_sender *is = calloc(1, sizeof(ipc_sender)); is->addr = dup_str(addr); is->ssocket = socket(AF_UNIX, SOCK_STREAM, 0); @@ -40,7 +40,7 @@ void destroy_ipc_sender(ipc_sender **is){ } } -ipc_listener *setup_ipc_listener(struct str saddr){ +ipc_listener *setup_ipc_listener(str saddr){ ipc_listener *il = calloc(1, sizeof(ipc_listener)); il->saddr = dup_str(saddr); il->csocket = socket(AF_UNIX, SOCK_STREAM, 0); @@ -78,8 +78,8 @@ void free_ipc_message(ipc_message im){ free_str(&im.val); } -static inline struct str ipc_message_to_str(ipc_message msg){ - struct str smsg = nstr(msg.key.len + msg.val.len + 2*sizeof(u32)); +static inline str ipc_message_to_str(ipc_message msg){ + str smsg = dnstr(msg.key.len + msg.val.len + 2*sizeof(u32)); memcpy(smsg.ptr+smsg.len, &msg.key.len, sizeof(msg.key.len)); smsg.len += sizeof(msg.key.len); copy_str(smsg, msg.key); @@ -90,7 +90,7 @@ static inline struct str ipc_message_to_str(ipc_message msg){ } int send_ipc_message(int to, ipc_message msg){ - struct str smsg = ipc_message_to_str(msg); + str smsg = ipc_message_to_str(msg); if(send(to, smsg.ptr, smsg.len, 0) == -1){ log_error("cant send message to socket %d: %s", to, strerror(errno)); free_str(&smsg); @@ -109,25 +109,25 @@ int send_ipc_message(int to, ipc_message msg){ return 0; } -static inline ipc_message str_to_ipc_message(struct str smsg){ +static inline ipc_message str_to_ipc_message(str smsg){ struct ipc_message msg; u32 l; memcpy(&l, smsg.ptr, sizeof(l)); smsg.ptr += sizeof(l); - msg.key = nstr(l); + msg.key = dnstr(l); msg.key.len = l; memcpy(msg.key.ptr, smsg.ptr, l); smsg.ptr += l; memcpy(&l, smsg.ptr, sizeof(l)); smsg.ptr += sizeof(l); - msg.val = nstr(l); + msg.val = dnstr(l); msg.val.len = l; memcpy(msg.val.ptr, smsg.ptr, l); return msg; } ipc_message receive_ipc_message(ipc_listener *il){ - struct str smsg = nstr(MAX_IPC_MSG_LEN); // we are gonna have to poll btw + str smsg = dnstr(MAX_IPC_MSG_LEN); // we are gonna have to poll btw ipc_message msg = {0}; smsg.len = recv(il->csocket, smsg.ptr, smsg.cap, 0); if(smsg.len == -1){ diff --git a/src/ipc/ipc.h b/src/ipc/ipc.h index e9b5c25..a122bc5 100755 --- a/src/ipc/ipc.h +++ b/src/ipc/ipc.h @@ -14,25 +14,25 @@ typedef struct ipc_sender { - struct str addr; + str addr; int ssocket; } ipc_sender; typedef struct ipc_listener { - struct str saddr; + str saddr; int csocket; } ipc_listener; #define MAX_IPC_MSG_LEN 1024 typedef struct ipc_message { - struct str key; - struct str val; + str key; + str val; } ipc_message; -ipc_sender *setup_ipc_sender(struct str addr, int backlog); +ipc_sender *setup_ipc_sender(str addr, int backlog); void destroy_ipc_sender(ipc_sender **is); -ipc_listener *setup_ipc_listener(struct str saddr); +ipc_listener *setup_ipc_listener(str saddr); void destroy_ipc_listener(ipc_listener **il); void free_ipc_message(ipc_message im); |
