From d4caca0fe982c52666f4b7243e5fe3988b6a3fb7 Mon Sep 17 00:00:00 2001
From: Philippe PITTOLI
Date: Fri, 2 Nov 2018 21:03:54 +0100
Subject: [PATCH] uint32_t, uint8, int32_t, int8_t
---
core/client.c | 12 +++---
core/client.h | 18 ++++----
core/communication.c | 82 ++++++++++++++++++------------------
core/communication.h | 32 +++++++-------
core/ipc.h | 2 +
core/message.c | 22 +++++-----
core/message.h | 20 +++++----
core/usocket.c | 38 ++++++++---------
core/usocket.h | 34 ++++++++-------
core/utils.c | 4 +-
core/utils.h | 6 ++-
drop/init-connection.c | 8 ++--
drop/list.c | 4 +-
drop/msg.c | 10 ++---
drop/open-read-close-fifo.c | 2 +-
drop/open-write-close-fifo.c | 2 +-
drop/pass-socket_client.c | 28 ++++++------
drop/pass-socket_server.c | 32 +++++++-------
drop/readmsg.c | 4 +-
drop/tcpselect.c | 18 ++++----
man/communication.h.3 | 22 +++++-----
pong/app/ipc-debug.c | 2 +
22 files changed, 207 insertions(+), 195 deletions(-)
diff --git a/core/client.c b/core/client.c
index 1227cd6..babb9cf 100644
--- a/core/client.c
+++ b/core/client.c
@@ -17,20 +17,20 @@ struct ipc_client * ipc_server_client_copy (const struct ipc_client *p)
return copy;
}
-int ipc_server_client_eq (const struct ipc_client *p1, const struct ipc_client *p2)
+int32_t ipc_server_client_eq (const struct ipc_client *p1, const struct ipc_client *p2)
{
return (p1->version == p2->version && p1->index == p2->index
&& p1->proc_fd == p2->proc_fd);
}
void ipc_server_client_gen (struct ipc_client *p
- , unsigned int index, unsigned int version)
+ , uint32_t index, uint32_t version)
{
p->version = version;
p->index = index;
}
-int ipc_client_add (struct ipc_clients *clients, struct ipc_client *p)
+int32_t ipc_client_add (struct ipc_clients *clients, struct ipc_client *p)
{
assert(clients != NULL);
assert(p != NULL);
@@ -47,7 +47,7 @@ int ipc_client_add (struct ipc_clients *clients, struct ipc_client *p)
return 0;
}
-int ipc_client_del (struct ipc_clients *clients, struct ipc_client *p)
+int32_t ipc_client_del (struct ipc_clients *clients, struct ipc_client *p)
{
assert(clients != NULL);
assert(p != NULL);
@@ -56,7 +56,7 @@ int ipc_client_del (struct ipc_clients *clients, struct ipc_client *p)
return -1;
}
- int i;
+ int32_t i;
for (i = 0; i < clients->size; i++) {
if (clients->clients[i] == p) {
@@ -90,7 +90,7 @@ void client_print (struct ipc_client *p)
void ipc_clients_print (struct ipc_clients *ap)
{
- int i;
+ int32_t i;
for (i = 0; i < ap->size; i++) {
printf("%d : ", i);
client_print(ap->clients[i]);
diff --git a/core/client.h b/core/client.h
index 08d663c..44ea289 100644
--- a/core/client.h
+++ b/core/client.h
@@ -1,29 +1,31 @@
#ifndef __IPC_CLIENT_H__
#define __IPC_CLIENT_H__
+#include
+
struct ipc_client {
- unsigned int version;
- unsigned int index;
- int proc_fd;
+ uint32_t version;
+ uint32_t index;
+ int32_t proc_fd;
};
struct ipc_clients {
struct ipc_client **clients;
- int size;
+ int32_t size;
};
// store and remove only pointers on allocated structures
-int ipc_client_add (struct ipc_clients *, struct ipc_client *);
-int ipc_client_del (struct ipc_clients *, struct ipc_client *);
+int32_t ipc_client_add (struct ipc_clients *, struct ipc_client *);
+int32_t ipc_client_del (struct ipc_clients *, struct ipc_client *);
void ipc_clients_print (struct ipc_clients *);
void ipc_clients_free (struct ipc_clients *);
struct ipc_client * ipc_server_client_copy (const struct ipc_client *p);
-int ipc_server_client_eq (const struct ipc_client *p1, const struct ipc_client *p2);
+int32_t ipc_server_client_eq (const struct ipc_client *p1, const struct ipc_client *p2);
// create the service client structure
void ipc_server_client_gen (struct ipc_client *p
- , unsigned int index, unsigned int version);
+ , uint32_t index, uint32_t version);
void client_print (struct ipc_client *);
#endif
diff --git a/core/communication.c b/core/communication.c
index 981fcb4..e4eae08 100644
--- a/core/communication.c
+++ b/core/communication.c
@@ -8,7 +8,7 @@
#include
#include
-void service_path (char *path, const char *sname, int index, int version)
+void service_path (char *path, const char *sname, int32_t index, int32_t version)
{
assert (path != NULL);
assert (sname != NULL);
@@ -16,7 +16,7 @@ void service_path (char *path, const char *sname, int index, int version)
snprintf (path, PATH_MAX, "%s/%s-%d-%d", RUNDIR, sname, index, version);
}
-int ipc_server_init (char **env
+int32_t ipc_server_init (char **env
, struct ipc_service *srv, const char *sname)
{
if (srv == NULL)
@@ -33,7 +33,7 @@ int ipc_server_init (char **env
// gets the service path
service_path (srv->spath, sname, srv->index, srv->version);
- int ret = usock_init (&srv->service_fd, srv->spath);
+ int32_t ret = usock_init (&srv->service_fd, srv->spath);
if (ret < 0) {
handle_err ("ipc_server_init", "usock_init ret < 0");
return -1;
@@ -42,12 +42,12 @@ int ipc_server_init (char **env
return 0;
}
-int ipc_server_accept (struct ipc_service *srv, struct ipc_client *p)
+int32_t ipc_server_accept (struct ipc_service *srv, struct ipc_client *p)
{
assert (srv != NULL);
assert (p != NULL);
- int ret = usock_accept (srv->service_fd, &p->proc_fd);
+ int32_t ret = usock_accept (srv->service_fd, &p->proc_fd);
if (ret < 0) {
handle_err ("ipc_server_accept", "usock_accept < 0");
return -1;
@@ -57,30 +57,30 @@ int ipc_server_accept (struct ipc_service *srv, struct ipc_client *p)
}
// empty the srv structure
-int ipc_server_close (struct ipc_service *srv)
+int32_t ipc_server_close (struct ipc_service *srv)
{
usock_close (srv->service_fd);
- int ret = usock_remove (srv->spath);
+ int32_t ret = usock_remove (srv->spath);
ipc_service_empty (srv);
return ret;
}
-int ipc_server_close_client (struct ipc_client *p)
+int32_t ipc_server_close_client (struct ipc_client *p)
{
return usock_close (p->proc_fd);
}
-int ipc_server_read (const struct ipc_client *p, struct ipc_message *m)
+int32_t ipc_server_read (const struct ipc_client *p, struct ipc_message *m)
{
return ipc_message_read (p->proc_fd, m);
}
-int ipc_server_write (const struct ipc_client *p, const struct ipc_message *m)
+int32_t ipc_server_write (const struct ipc_client *p, const struct ipc_message *m)
{
return ipc_message_write (p->proc_fd, m);
}
-int ipc_application_connection (char **env
+int32_t ipc_application_connection (char **env
, struct ipc_service *srv, const char *sname)
{
// TODO
@@ -101,7 +101,7 @@ int ipc_application_connection (char **env
// gets the service path
service_path (srv->spath, sname, srv->index, srv->version);
- int ret = usock_connect (&srv->service_fd, srv->spath);
+ int32_t ret = usock_connect (&srv->service_fd, srv->spath);
if (ret < 0) {
handle_err ("ipc_application_connection", "usock_connect ret <= 0");
return -1;
@@ -111,27 +111,27 @@ int ipc_application_connection (char **env
}
// close the socket
-int ipc_application_close (struct ipc_service *srv)
+int32_t ipc_application_close (struct ipc_service *srv)
{
return usock_close (srv->service_fd);
}
-int ipc_application_read (struct ipc_service *srv, struct ipc_message *m)
+int32_t ipc_application_read (struct ipc_service *srv, struct ipc_message *m)
{
return ipc_message_read (srv->service_fd, m);
}
-int ipc_application_write (struct ipc_service *srv, const struct ipc_message *m)
+int32_t ipc_application_write (struct ipc_service *srv, const struct ipc_message *m)
{
return ipc_message_write (srv->service_fd, m);
}
/*calculer le max filedescriptor*/
-static int get_max_fd_from_ipc_clients_ (struct ipc_clients *clients)
+static int32_t get_max_fd_from_ipc_clients_ (struct ipc_clients *clients)
{
- int i;
- int max = 0;
+ int32_t i;
+ int32_t max = 0;
for (i = 0; i < clients->size; i++ ) {
if (clients->clients[i]->proc_fd > max) {
@@ -142,10 +142,10 @@ static int get_max_fd_from_ipc_clients_ (struct ipc_clients *clients)
return max;
}
-static int get_max_fd_from_ipc_services_ (struct ipc_services *services)
+static int32_t get_max_fd_from_ipc_services_ (struct ipc_services *services)
{
- int i;
- int max = 0;
+ int32_t i;
+ int32_t max = 0;
for (i = 0; i < services->size; i++ ) {
if (services->services[i]->service_fd > max) {
@@ -166,8 +166,8 @@ static int get_max_fd_from_ipc_services_ (struct ipc_services *services)
* -1 = error
*/
-int ipc_server_select (struct ipc_clients *clients, struct ipc_service *srv
- , struct ipc_clients *active_clients, int *new_connection)
+int32_t ipc_server_select (struct ipc_clients *clients, struct ipc_service *srv
+ , struct ipc_clients *active_clients, int32_t *new_connection)
{
*new_connection = 0;
assert (clients != NULL);
@@ -176,15 +176,15 @@ int ipc_server_select (struct ipc_clients *clients, struct ipc_service *srv
// delete previous read active_clients array
ipc_clients_free (active_clients);
- int i, j;
+ int32_t i, j;
/* master file descriptor list */
fd_set master;
fd_set readf;
/* maximum file descriptor number */
- int fdmax;
+ int32_t fdmax;
/* listening socket descriptor */
- int listener = srv->service_fd;
+ int32_t listener = srv->service_fd;
/* clear the master and temp sets */
FD_ZERO(&master);
@@ -232,7 +232,7 @@ int ipc_server_select (struct ipc_clients *clients, struct ipc_service *srv
* -1 = error
*/
-int ipc_application_select (struct ipc_services *services, struct ipc_services *active_services)
+int32_t ipc_application_select (struct ipc_services *services, struct ipc_services *active_services)
{
assert (services != NULL);
assert (active_services != NULL);
@@ -240,13 +240,13 @@ int ipc_application_select (struct ipc_services *services, struct ipc_services *
// delete previous read active_services array
ipc_services_free (active_services);
- int i, j;
+ int32_t i, j;
/* master file descriptor list */
fd_set master;
fd_set readf;
/* maximum file descriptor number */
- int fdmax;
+ int32_t fdmax;
/* clear the master and temp sets */
FD_ZERO(&master);
@@ -278,7 +278,7 @@ int ipc_application_select (struct ipc_services *services, struct ipc_services *
return 0;
}
-int handle_new_connection (struct ipc_service *srv
+int32_t handle_new_connection (struct ipc_service *srv
, struct ipc_clients *clients
, struct ipc_client **new_client)
{
@@ -300,22 +300,22 @@ int handle_new_connection (struct ipc_service *srv
return 0;
}
-int ipc_service_poll_event (struct ipc_clients *clients, struct ipc_service *srv
+int32_t ipc_service_poll_event (struct ipc_clients *clients, struct ipc_service *srv
, struct ipc_event *event)
{
assert (clients != NULL);
IPC_EVENT_CLEAN(event);
- int i, j;
+ int32_t i, j;
/* master file descriptor list */
fd_set master;
fd_set readf;
/* maximum file descriptor number */
- int fdmax;
+ int32_t fdmax;
/* listening socket descriptor */
- int listener = srv->service_fd;
+ int32_t listener = srv->service_fd;
/* clear the master and temp sets */
FD_ZERO(&master);
@@ -349,7 +349,7 @@ int ipc_service_poll_event (struct ipc_clients *clients, struct ipc_service *srv
if(i == clients->clients[j]->proc_fd ) {
// listen to what they have to say (disconnection or message)
// then add a client to `event`, the ipc_event structure
- int ret = 0;
+ int32_t ret = 0;
struct ipc_message *m = NULL;
m = malloc (sizeof(struct ipc_message));
if (m == NULL) {
@@ -398,19 +398,19 @@ int ipc_service_poll_event (struct ipc_clients *clients, struct ipc_service *srv
return 0;
}
-int ipc_application_poll_event_ (struct ipc_services *services, struct ipc_event *event, int interactive)
+int32_t ipc_application_poll_event_ (struct ipc_services *services, struct ipc_event *event, int32_t interactive)
{
assert (services != NULL);
IPC_EVENT_CLEAN(event);
- int i, j;
+ int32_t i, j;
/* master file descriptor list */
fd_set master;
fd_set readf;
/* maximum file descriptor number */
- int fdmax;
+ int32_t fdmax;
/* clear the master and temp sets */
FD_ZERO(&master);
@@ -455,7 +455,7 @@ int ipc_application_poll_event_ (struct ipc_services *services, struct ipc_event
if(i == services->services[j]->service_fd ) {
// listen to what they have to say (disconnection or message)
// then add a client to `event`, the ipc_event structure
- int ret = 0;
+ int32_t ret = 0;
struct ipc_message *m = NULL;
m = malloc (sizeof(struct ipc_message));
if (m == NULL) {
@@ -504,10 +504,10 @@ int ipc_application_poll_event_ (struct ipc_services *services, struct ipc_event
return 0;
}
-int ipc_application_poll_event (struct ipc_services *services, struct ipc_event *event) {
+int32_t ipc_application_poll_event (struct ipc_services *services, struct ipc_event *event) {
return ipc_application_poll_event_ (services, event, 0);
}
-int ipc_application_peek_event (struct ipc_services *services, struct ipc_event *event) {
+int32_t ipc_application_peek_event (struct ipc_services *services, struct ipc_event *event) {
return ipc_application_poll_event_ (services, event, 1);
}
diff --git a/core/communication.h b/core/communication.h
index 8488c7e..c0ee326 100644
--- a/core/communication.h
+++ b/core/communication.h
@@ -20,20 +20,20 @@
// srv->version and srv->index must be already set
// init unix socket + fill srv->spath
-int ipc_server_init (char **env
+int32_t ipc_server_init (char **env
, struct ipc_service *srv, const char *sname);
-int ipc_server_close (struct ipc_service *srv);
-int ipc_server_close_client (struct ipc_client *p);
-int ipc_server_accept (struct ipc_service *srv, struct ipc_client *p);
+int32_t ipc_server_close (struct ipc_service *srv);
+int32_t ipc_server_close_client (struct ipc_client *p);
+int32_t ipc_server_accept (struct ipc_service *srv, struct ipc_client *p);
// 1 on a recipient socket close
-int ipc_server_read (const struct ipc_client *, struct ipc_message *m);
-int ipc_server_write (const struct ipc_client *, const struct ipc_message *m);
+int32_t ipc_server_read (const struct ipc_client *, struct ipc_message *m);
+int32_t ipc_server_write (const struct ipc_client *, const struct ipc_message *m);
-int ipc_server_select (struct ipc_clients * clients, struct ipc_service *srv
- , struct ipc_clients *active_clients, int *new_connection);
+int32_t ipc_server_select (struct ipc_clients * clients, struct ipc_service *srv
+ , struct ipc_clients *active_clients, int32_t *new_connection);
-int ipc_service_poll_event (struct ipc_clients *clients, struct ipc_service *srv
+int32_t ipc_service_poll_event (struct ipc_clients *clients, struct ipc_service *srv
, struct ipc_event *event);
// APPLICATION
@@ -41,17 +41,17 @@ int ipc_service_poll_event (struct ipc_clients *clients, struct ipc_service *srv
// Initialize connection with unix socket
// send the connection string to $TMP/
// fill srv->spath && srv->service_fd
-int ipc_application_connection (char **env
+int32_t ipc_application_connection (char **env
, struct ipc_service *, const char *);
-int ipc_application_close (struct ipc_service *);
+int32_t ipc_application_close (struct ipc_service *);
// 1 on a recipient socket close
-int ipc_application_read (struct ipc_service *srv, struct ipc_message *m);
-int ipc_application_write (struct ipc_service *, const struct ipc_message *m);
+int32_t ipc_application_read (struct ipc_service *srv, struct ipc_message *m);
+int32_t ipc_application_write (struct ipc_service *, const struct ipc_message *m);
-int ipc_application_select (struct ipc_services *services, struct ipc_services *active_services);
+int32_t ipc_application_select (struct ipc_services *services, struct ipc_services *active_services);
-int ipc_application_poll_event (struct ipc_services *services, struct ipc_event *event);
-int ipc_application_peek_event (struct ipc_services *services, struct ipc_event *event);
+int32_t ipc_application_poll_event (struct ipc_services *services, struct ipc_event *event);
+int32_t ipc_application_peek_event (struct ipc_services *services, struct ipc_event *event);
#endif
diff --git a/core/ipc.h b/core/ipc.h
index 5bd680c..296f589 100644
--- a/core/ipc.h
+++ b/core/ipc.h
@@ -1,6 +1,8 @@
#ifndef __IPC_H__
#define __IPC_H__
+#include
+
#include "client.h"
#include "communication.h"
#include "error.h"
diff --git a/core/message.c b/core/message.c
index 613f078..f1dcff5 100644
--- a/core/message.c
+++ b/core/message.c
@@ -12,7 +12,7 @@ void ipc_message_print (const struct ipc_message *m)
#endif
}
-int ipc_message_format_read (struct ipc_message *m, const char *buf, ssize_t msize)
+int32_t ipc_message_format_read (struct ipc_message *m, const char *buf, ssize_t msize)
{
assert (m != NULL);
assert (buf != NULL);
@@ -43,7 +43,7 @@ int ipc_message_format_read (struct ipc_message *m, const char *buf, ssize_t msi
return 0;
}
-int ipc_message_format_write (const struct ipc_message *m, char **buf, ssize_t *msize)
+int32_t ipc_message_format_write (const struct ipc_message *m, char **buf, ssize_t *msize)
{
assert (m != NULL);
assert (buf != NULL);
@@ -82,14 +82,14 @@ int ipc_message_format_write (const struct ipc_message *m, char **buf, ssize_t *
}
// 1 on a recipient socket close
-int ipc_message_read (int fd, struct ipc_message *m)
+int32_t ipc_message_read (int32_t fd, struct ipc_message *m)
{
assert (m != NULL);
char *buf = NULL;
ssize_t msize = IPC_MAX_MESSAGE_SIZE;
- int ret = usock_recv (fd, &buf, &msize);
+ int32_t ret = usock_recv (fd, &buf, &msize);
if (ret < 0) {
// on error, buffer already freed
handle_err ("msg_read", "usock_recv");
@@ -109,7 +109,7 @@ int ipc_message_read (int fd, struct ipc_message *m)
return 0;
}
-int ipc_message_write (int fd, const struct ipc_message *m)
+int32_t ipc_message_write (int32_t fd, const struct ipc_message *m)
{
assert (m != NULL);
@@ -118,7 +118,7 @@ int ipc_message_write (int fd, const struct ipc_message *m)
ipc_message_format_write (m, &buf, &msize);
ssize_t nbytes_sent = 0;
- int ret = usock_send (fd, buf, msize, &nbytes_sent);
+ int32_t ret = usock_send (fd, buf, msize, &nbytes_sent);
if (ret < 0) {
if (buf != NULL) {
free (buf);
@@ -145,7 +145,7 @@ int ipc_message_write (int fd, const struct ipc_message *m)
// MSG FORMAT
-int ipc_message_format (struct ipc_message *m, char type, const char *payload, ssize_t length)
+int32_t ipc_message_format (struct ipc_message *m, char type, const char *payload, ssize_t length)
{
assert (m != NULL);
assert (length <= IPC_MAX_MESSAGE_SIZE);
@@ -157,7 +157,7 @@ int ipc_message_format (struct ipc_message *m, char type, const char *payload, s
}
m->type = type;
- m->length = (unsigned int) length;
+ m->length = (uint32_t) length;
if (payload != NULL) {
if (m->payload != NULL) {
@@ -177,17 +177,17 @@ int ipc_message_format (struct ipc_message *m, char type, const char *payload, s
return 0;
}
-int ipc_message_format_data (struct ipc_message *m, const char *payload, ssize_t length)
+int32_t ipc_message_format_data (struct ipc_message *m, const char *payload, ssize_t length)
{
return ipc_message_format (m, MSG_TYPE_DATA, payload, length);
}
-int ipc_message_format_server_close (struct ipc_message *m)
+int32_t ipc_message_format_server_close (struct ipc_message *m)
{
return ipc_message_format (m, MSG_TYPE_SERVER_CLOSE, NULL, 0);
}
-int ipc_message_empty (struct ipc_message *m)
+int32_t ipc_message_empty (struct ipc_message *m)
{
assert (m != NULL);
diff --git a/core/message.h b/core/message.h
index 5f6216a..8358966 100644
--- a/core/message.h
+++ b/core/message.h
@@ -5,6 +5,8 @@
#include
#include
+#include
+
// the underlying communication must always correctly handled by the system
// (currently: unix sockets)
@@ -16,26 +18,26 @@ enum msg_types {
struct ipc_message {
char type;
- unsigned int length;
+ uint32_t length;
char *payload;
};
// used to create msg structure from buffer
-int ipc_message_format_read (struct ipc_message *m, const char *buf, ssize_t msize);
+int32_t ipc_message_format_read (struct ipc_message *m, const char *buf, ssize_t msize);
// used to create buffer from msg structure
-int ipc_message_format_write (const struct ipc_message *m, char **buf, ssize_t *msize);
+int32_t ipc_message_format_write (const struct ipc_message *m, char **buf, ssize_t *msize);
// read a structure msg from fd
// 1 on a recipient socket close
-int ipc_message_read (int fd, struct ipc_message *m);
+int32_t ipc_message_read (int32_t fd, struct ipc_message *m);
// write a structure msg to fd
-int ipc_message_write (int fd, const struct ipc_message *m);
+int32_t ipc_message_write (int32_t fd, const struct ipc_message *m);
-int ipc_message_format (struct ipc_message *m, char type, const char *payload, ssize_t length);
-int ipc_message_format_data (struct ipc_message *m, const char *payload, ssize_t length);
-int ipc_message_format_server_close (struct ipc_message *m);
+int32_t ipc_message_format (struct ipc_message *m, char type, const char *payload, ssize_t length);
+int32_t ipc_message_format_data (struct ipc_message *m, const char *payload, ssize_t length);
+int32_t ipc_message_format_server_close (struct ipc_message *m);
-int ipc_message_empty (struct ipc_message *m);
+int32_t ipc_message_empty (struct ipc_message *m);
void ipc_message_print (const struct ipc_message *m);
#endif
diff --git a/core/usocket.c b/core/usocket.c
index ce15cb6..13401f5 100644
--- a/core/usocket.c
+++ b/core/usocket.c
@@ -8,7 +8,7 @@
#include
#include
-int usock_send (const int fd, const char *buf, ssize_t len, ssize_t *sent)
+int32_t usock_send (const int32_t fd, const char *buf, ssize_t len, ssize_t *sent)
{
ssize_t ret = 0;
ret = send (fd, buf, len, MSG_NOSIGNAL);
@@ -21,7 +21,7 @@ int usock_send (const int fd, const char *buf, ssize_t len, ssize_t *sent)
}
// *len is changed to the total message size read (header + payload)
-int usock_recv (const int fd, char **buf, ssize_t *len)
+int32_t usock_recv (const int32_t fd, char **buf, ssize_t *len)
{
assert(buf != NULL);
assert(len != NULL);
@@ -47,8 +47,8 @@ int usock_recv (const int fd, char **buf, ssize_t *len)
*buf = malloc (*len + IPC_HEADER_SIZE);
}
- unsigned int msize = 0;
- unsigned int msize_read = 0;
+ uint32_t msize = 0;
+ uint32_t msize_read = 0;
do {
ret = recv (fd, *buf, *len, 0);
@@ -135,12 +135,12 @@ int usock_recv (const int fd, char **buf, ssize_t *len)
return 1;
}
- // print_hexa ("msg recv", (unsigned char *)*buf, *len);
+ // print_hexa ("msg recv", (uint8_t *)*buf, *len);
// fflush(stdout);
return 0;
}
-int usock_connect (int *fd, const char *path)
+int32_t usock_connect (int32_t *fd, const char *path)
{
assert (fd != NULL);
assert (path != NULL);
@@ -155,7 +155,7 @@ int usock_connect (int *fd, const char *path)
return -1;
}
- int sfd;
+ int32_t sfd;
struct sockaddr_un my_addr;
socklen_t peer_addr_size;
@@ -183,7 +183,7 @@ int usock_connect (int *fd, const char *path)
return 0;
}
-int usock_init (int *fd, const char *path)
+int32_t usock_init (int32_t *fd, const char *path)
{
assert (fd != NULL);
assert (path != NULL);
@@ -198,7 +198,7 @@ int usock_init (int *fd, const char *path)
return -1;
}
- int sfd;
+ int32_t sfd;
struct sockaddr_un my_addr;
socklen_t peer_addr_size;
@@ -236,7 +236,7 @@ int usock_init (int *fd, const char *path)
return 0;
}
-int usock_accept (int fd, int *pfd)
+int32_t usock_accept (int32_t fd, int32_t *pfd)
{
assert (pfd != NULL);
@@ -259,9 +259,9 @@ int usock_accept (int fd, int *pfd)
return 0;
}
-int usock_close (int fd)
+int32_t usock_close (int32_t fd)
{
- int ret = 0;
+ int32_t ret = 0;
ret = close (fd);
if (ret < 0) {
@@ -272,7 +272,7 @@ int usock_close (int fd)
return 0;
}
-int usock_remove (const char *path)
+int32_t usock_remove (const char *path)
{
return unlink (path);
}
@@ -292,20 +292,20 @@ struct ipc_service * ipc_client_server_copy (const struct ipc_service *p)
return copy;
}
-int ipc_client_server_eq (const struct ipc_service *p1, const struct ipc_service *p2)
+int32_t ipc_client_server_eq (const struct ipc_service *p1, const struct ipc_service *p2)
{
return (p1->version == p2->version && p1->index == p2->index
&& p1->service_fd == p2->service_fd && memcmp(p1->spath, p1->spath, PATH_MAX) == 0 );
}
void ipc_client_server_gen (struct ipc_service *p
- , unsigned int index, unsigned int version)
+ , uint32_t index, uint32_t version)
{
p->version = version;
p->index = index;
}
-int ipc_service_add (struct ipc_services *services, struct ipc_service *p)
+int32_t ipc_service_add (struct ipc_services *services, struct ipc_service *p)
{
assert(services != NULL);
assert(p != NULL);
@@ -322,7 +322,7 @@ int ipc_service_add (struct ipc_services *services, struct ipc_service *p)
return 0;
}
-int ipc_service_del (struct ipc_services *services, struct ipc_service *p)
+int32_t ipc_service_del (struct ipc_services *services, struct ipc_service *p)
{
assert(services != NULL);
assert(p != NULL);
@@ -331,7 +331,7 @@ int ipc_service_del (struct ipc_services *services, struct ipc_service *p)
return -1;
}
- int i;
+ int32_t i;
for (i = 0; i < services->size; i++) {
if (services->services[i] == p) {
@@ -365,7 +365,7 @@ void service_print (struct ipc_service *p)
void ipc_services_print (struct ipc_services *ap)
{
- int i;
+ int32_t i;
for (i = 0; i < ap->size; i++) {
printf("%d : ", i);
service_print(ap->services[i]);
diff --git a/core/usocket.h b/core/usocket.h
index 4dbc8e5..ec172b1 100644
--- a/core/usocket.h
+++ b/core/usocket.h
@@ -5,6 +5,8 @@
#include
#include
+#include
+
#define LISTEN_BACKLOG 128
#define RUNDIR "/run/ipc/"
@@ -14,15 +16,15 @@
#define IPC_MAX_MESSAGE_SIZE 8000000-IPC_HEADER_SIZE
struct ipc_service {
- unsigned int version;
- unsigned int index;
+ uint32_t version;
+ uint32_t index;
char spath[PATH_MAX];
- int service_fd;
+ int32_t service_fd;
};
struct ipc_services {
struct ipc_service ** services;
- int size;
+ int32_t size;
};
/**
@@ -31,7 +33,7 @@ struct ipc_services {
// input: len = max buf size
// output: *sent = nb received bytes
-int usock_send (const int fd, const char *buf, ssize_t len, ssize_t *sent);
+int32_t usock_send (const int32_t fd, const char *buf, ssize_t len, ssize_t *sent);
// -1 on msize == NULL or buf == NULL
// -1 on unsupported errors from read(2)
@@ -40,37 +42,37 @@ int usock_send (const int fd, const char *buf, ssize_t len, ssize_t *sent);
// allocation of *len bytes on *buf == NULL
//
// output: *len = nb sent bytes
-int usock_recv (int fd, char **buf, ssize_t *len);
+int32_t usock_recv (int32_t fd, char **buf, ssize_t *len);
// -1 on close(2) < 0
-int usock_close (int fd);
+int32_t usock_close (int32_t fd);
// same as connect(2)
// -1 on fd == NULL
-int usock_connect (int *fd, const char *path);
+int32_t usock_connect (int32_t *fd, const char *path);
-int usock_init (int *fd, const char *path);
+int32_t usock_init (int32_t *fd, const char *path);
-int usock_accept (int fd, int *pfd);
+int32_t usock_accept (int32_t fd, int32_t *pfd);
// same as unlink(2)
-int usock_remove (const char *path);
+int32_t usock_remove (const char *path);
-static inline int ipc_service_empty (struct ipc_service *srv) { srv = srv; return 0 ;};
+static inline int32_t ipc_service_empty (struct ipc_service *srv) { srv = srv; return 0 ;};
// store and remove only pointers on allocated structures
-int ipc_service_add (struct ipc_services *, struct ipc_service *);
-int ipc_service_del (struct ipc_services *, struct ipc_service *);
+int32_t ipc_service_add (struct ipc_services *, struct ipc_service *);
+int32_t ipc_service_del (struct ipc_services *, struct ipc_service *);
void ipc_services_print (struct ipc_services *);
void ipc_services_free (struct ipc_services *);
struct ipc_service * ipc_client_server_copy (const struct ipc_service *p);
-int ipc_service_eq (const struct ipc_service *p1, const struct ipc_service *p2);
+int32_t ipc_service_eq (const struct ipc_service *p1, const struct ipc_service *p2);
// create the client service structure
void ipc_client_server_gen (struct ipc_service *p
- , unsigned int index, unsigned int version);
+ , uint32_t index, uint32_t version);
void service_print (struct ipc_service *);
diff --git a/core/utils.c b/core/utils.c
index fe97b83..d6c5f37 100644
--- a/core/utils.c
+++ b/core/utils.c
@@ -1,6 +1,6 @@
#include "utils.h"
-void print_hexa (const char *prefix, unsigned char *payload, size_t size)
+void print_hexa (const char *prefix, uint8_t *payload, size_t size)
{
if (! payload)
return ;
@@ -16,7 +16,7 @@ void print_hexa (const char *prefix, unsigned char *payload, size_t size)
}
-void mprint_hexa (char *prefix, unsigned char *buf, size_t length)
+void mprint_hexa (char *prefix, uint8_t *buf, size_t length)
{
print_hexa (prefix, buf, length);
}
diff --git a/core/utils.h b/core/utils.h
index 486575d..352b78f 100644
--- a/core/utils.h
+++ b/core/utils.h
@@ -5,7 +5,9 @@
#include
#include
-void print_hexa (const char *prefix, unsigned char *payload, size_t size);
-void mprint_hexa (char *prefix, unsigned char *buf, size_t length);
+#include
+
+void print_hexa (const char *prefix, uint8_t *payload, size_t size);
+void mprint_hexa (char *prefix, uint8_t *buf, size_t length);
#endif
diff --git a/drop/init-connection.c b/drop/init-connection.c
index 8cfb268..16f28aa 100644
--- a/drop/init-connection.c
+++ b/drop/init-connection.c
@@ -3,12 +3,12 @@
#define SERVICE "windowing"
void
-ohshit(int rvalue, const char* str) {
+ohshit(int32_t rvalue, const char* str) {
fprintf(stderr, "%s\n", str);
exit(rvalue);
}
-int main(int argc, char * argv[], char *env[])
+int32_t main(int32_t argc, char * argv[], char *env[])
{
struct ipc_service srv;
memset (&srv, 0, sizeof (struct ipc_service));
@@ -26,8 +26,8 @@ int main(int argc, char * argv[], char *env[])
struct ipc_client p;
memset (&p, 0, sizeof (struct ipc_client));
- int index = 0; // first time we communication with the service
- int version = 1;
+ int32_t index = 0; // first time we communication with the service
+ int32_t version = 1;
printf ("app creation\n");
if (application_create (&p, index, version)) // called by the application
diff --git a/drop/list.c b/drop/list.c
index 71dbda0..501e6bd 100644
--- a/drop/list.c
+++ b/drop/list.c
@@ -7,11 +7,11 @@ LIST_HEAD(mlist, node);
// elements structure of the list
struct node {
- int content;
+ int32_t content;
LIST_ENTRY(node) entries;
};
-int main(int argc, char * argv[])
+int32_t main(int32_t argc, char * argv[])
{
(void) argc;
(void) argv;
diff --git a/drop/msg.c b/drop/msg.c
index 4452934..1edde58 100644
--- a/drop/msg.c
+++ b/drop/msg.c
@@ -8,7 +8,7 @@
#define PKT_ERROR 2
void
-ohshit(int rvalue, const char* str) {
+ohshit(int32_t rvalue, const char* str) {
fprintf (stderr, "\033[31merr: %s\033[00m\n", str);
exit (rvalue);
}
@@ -21,15 +21,15 @@ void usage (char **argv)
printf ( " This sends a CBOR msg [ 1, \"data\" ]\n");
}
-int
-main(int argc, char **argv)
+int32_t
+main(int32_t argc, char **argv)
{
if (argc == 2 && strcmp ("-h", argv[1]) == 0) {
usage (argv);
exit (1);
}
- unsigned char buf[BUFSIZ];
+ uint8_t buf[BUFSIZ];
memset (buf, 0, BUFSIZ);
ssize_t buflen = read (0, buf, BUFSIZ);
@@ -42,7 +42,7 @@ main(int argc, char **argv)
.value = cbor_move(cbor_build_bytestring(buf, buflen))
});
/* Output: `length` bytes of data in the `buffer` */
- unsigned char * buffer;
+ uint8_t * buffer;
size_t buffer_size, length = cbor_serialize_alloc (root, &buffer, &buffer_size);
fwrite(buffer, 1, length, stdout);
diff --git a/drop/open-read-close-fifo.c b/drop/open-read-close-fifo.c
index ca2f396..ada2cd1 100644
--- a/drop/open-read-close-fifo.c
+++ b/drop/open-read-close-fifo.c
@@ -3,7 +3,7 @@
#include
#include
-int main(int argc, char * argv[])
+int32_t main(int32_t argc, char * argv[])
{
(void) argc;
diff --git a/drop/open-write-close-fifo.c b/drop/open-write-close-fifo.c
index ca4c950..d8e94e4 100644
--- a/drop/open-write-close-fifo.c
+++ b/drop/open-write-close-fifo.c
@@ -3,7 +3,7 @@
#include
#include
-int main(int argc, char * argv[])
+int32_t main(int32_t argc, char * argv[])
{
(void) argc;
(void) argv;
diff --git a/drop/pass-socket_client.c b/drop/pass-socket_client.c
index ebe3d8d..3fa2d76 100644
--- a/drop/pass-socket_client.c
+++ b/drop/pass-socket_client.c
@@ -64,7 +64,7 @@ void log_debug (const char* message, ...) {
}
static
-int recvsockfd (int socket) // receive fd from socket
+int32_t recvsockfd (int32_t socket) // receive fd from socket
{
struct ipc_messagehdr msg = {0};
@@ -84,14 +84,14 @@ int recvsockfd (int socket) // receive fd from socket
struct cmsghdr *cmsg = CMSG_FIRSTHDR(&msg);
printf ("About to extract fd\n");
- int fd;
+ int32_t fd;
memmove(&fd, CMSG_DATA(cmsg), sizeof(fd));
printf ("Extracted fd %d\n", fd);
return fd;
}
-int usock_connect (int *fd, const char *path)
+int32_t usock_connect (int32_t *fd, const char *path)
{
assert (fd != NULL);
assert (path != NULL);
@@ -106,7 +106,7 @@ int usock_connect (int *fd, const char *path)
return -1;
}
- int sfd;
+ int32_t sfd;
struct sockaddr_un my_addr;
socklen_t peer_addr_size;
@@ -134,7 +134,7 @@ int usock_connect (int *fd, const char *path)
return 0;
}
-int usock_init (int *fd, const char *path)
+int32_t usock_init (int32_t *fd, const char *path)
{
assert (fd != NULL);
assert (path != NULL);
@@ -149,7 +149,7 @@ int usock_init (int *fd, const char *path)
return -1;
}
- int sfd;
+ int32_t sfd;
struct sockaddr_un my_addr;
socklen_t peer_addr_size;
@@ -187,7 +187,7 @@ int usock_init (int *fd, const char *path)
return 0;
}
-int usock_accept (int fd, int *pfd)
+int32_t usock_accept (int32_t fd, int32_t *pfd)
{
assert (pfd != NULL);
@@ -210,9 +210,9 @@ int usock_accept (int fd, int *pfd)
return 0;
}
-int usock_close (int fd)
+int32_t usock_close (int32_t fd)
{
- int ret;
+ int32_t ret;
ret = close (fd);
if (ret < 0) {
handle_err ("usock_close", "close ret < 0");
@@ -221,15 +221,15 @@ int usock_close (int fd)
return ret;
}
-int usock_remove (const char *path)
+int32_t usock_remove (const char *path)
{
return unlink (path);
}
-int main(int argc, char * argv[])
+int32_t main(int32_t argc, char * argv[])
{
- int tcpsockfd;
- int usockfd;
+ int32_t tcpsockfd;
+ int32_t usockfd;
// check the number of args on command line
if(argc != 1)
{
@@ -240,7 +240,7 @@ int main(int argc, char * argv[])
printf("Connection to the unix socket\n");
// 1. unix socket connection
- int ret = usock_connect (&usockfd, USOCK);
+ int32_t ret = usock_connect (&usockfd, USOCK);
if (ret != 0) {
fprintf (stderr, "error: usock_connect\n");
exit(EXIT_FAILURE);
diff --git a/drop/pass-socket_server.c b/drop/pass-socket_server.c
index e1259f5..19d0002 100644
--- a/drop/pass-socket_server.c
+++ b/drop/pass-socket_server.c
@@ -63,9 +63,9 @@ void log_debug (const char* message, ...) {
va_end(args);
}
-int build_socket (char *servername, char * serverport)
+int32_t build_socket (char *servername, char * serverport)
{
- int sockfd;
+ int32_t sockfd;
struct sockaddr_in6 server;
socklen_t addrlen;
@@ -99,7 +99,7 @@ int build_socket (char *servername, char * serverport)
return sockfd;
}
-int usock_connect (int *fd, const char *path)
+int32_t usock_connect (int32_t *fd, const char *path)
{
assert (fd != NULL);
assert (path != NULL);
@@ -114,7 +114,7 @@ int usock_connect (int *fd, const char *path)
return -1;
}
- int sfd;
+ int32_t sfd;
struct sockaddr_un my_addr;
socklen_t peer_addr_size;
@@ -142,7 +142,7 @@ int usock_connect (int *fd, const char *path)
return 0;
}
-int usock_init (int *fd, const char *path)
+int32_t usock_init (int32_t *fd, const char *path)
{
assert (fd != NULL);
assert (path != NULL);
@@ -157,7 +157,7 @@ int usock_init (int *fd, const char *path)
return -1;
}
- int sfd;
+ int32_t sfd;
struct sockaddr_un my_addr;
socklen_t peer_addr_size;
@@ -195,7 +195,7 @@ int usock_init (int *fd, const char *path)
return 0;
}
-int usock_accept (int fd, int *pfd)
+int32_t usock_accept (int32_t fd, int32_t *pfd)
{
assert (pfd != NULL);
@@ -218,9 +218,9 @@ int usock_accept (int fd, int *pfd)
return 0;
}
-int usock_close (int fd)
+int32_t usock_close (int32_t fd)
{
- int ret;
+ int32_t ret;
ret = close (fd);
if (ret < 0) {
handle_err ("usock_close", "close ret < 0");
@@ -229,14 +229,14 @@ int usock_close (int fd)
return ret;
}
-int usock_remove (const char *path)
+int32_t usock_remove (const char *path)
{
return unlink (path);
}
-int build_unix_socket (char * path)
+int32_t build_unix_socket (char * path)
{
- int remotefd, localfd;
+ int32_t remotefd, localfd;
usock_init (&localfd, path);
usock_accept (localfd, &remotefd);
@@ -245,7 +245,7 @@ int build_unix_socket (char * path)
}
static
-void sendfd (int socket, int fd) // send fd by socket
+void sendfd (int32_t socket, int32_t fd) // send fd by socket
{
struct ipc_messagehdr msg = { 0 };
char buf[CMSG_SPACE(sizeof(fd))];
@@ -272,7 +272,7 @@ void sendfd (int socket, int fd) // send fd by socket
handle_err("sendfd", "Failed to send message\n");
}
-int main(int argc, char * argv[])
+int32_t main(int32_t argc, char * argv[])
{
// check the number of args on command line
if(argc != 3)
@@ -285,7 +285,7 @@ int main(int argc, char * argv[])
printf("Connection to the tcp socket\n");
// 1. socket creation (tcp), connection to the server
- int sockfd = build_socket (servername, serverport);
+ int32_t sockfd = build_socket (servername, serverport);
printf("Sending 'coucou' to the tcp socket\n");
// send a message to check the connection is effective
@@ -297,7 +297,7 @@ int main(int argc, char * argv[])
printf ("Connection to the unix socket\n");
// 2. socket creation (unix)
- int usockfd = build_unix_socket (USOCK);
+ int32_t usockfd = build_unix_socket (USOCK);
printf ("Passing the tcp socket to the unix socket\n");
// 3. tcp socket passing to the client
diff --git a/drop/readmsg.c b/drop/readmsg.c
index fb170e9..cb16edb 100644
--- a/drop/readmsg.c
+++ b/drop/readmsg.c
@@ -12,7 +12,7 @@ void usage (char **argv) {
printf ("usage: echo something | msg | %s\n", argv[0]);
}
-int main(int argc, char * argv[])
+int32_t main(int32_t argc, char * argv[])
{
if (argc == 2 && strcmp ("-h", argv[1]) == 0) {
usage (argv);
@@ -21,7 +21,7 @@ int main(int argc, char * argv[])
// read the message from the client
size_t mlen = 0;
- unsigned char buf[BUFSIZ];
+ uint8_t buf[BUFSIZ];
mlen = read (0, buf, BUFSIZ);
/* Assuming `buffer` contains `info.st_size` bytes of input data */
diff --git a/drop/tcpselect.c b/drop/tcpselect.c
index e1c2479..0065828 100644
--- a/drop/tcpselect.c
+++ b/drop/tcpselect.c
@@ -11,7 +11,7 @@
#define PORT 2020
-int main(int argc, char *argv[])
+int32_t main(int32_t argc, char *argv[])
{
/* master file descriptor list */
fd_set master;
@@ -23,19 +23,19 @@ int main(int argc, char *argv[])
struct sockaddr_in clientaddr;
/* maximum file descriptor number */
- int fdmax;
+ int32_t fdmax;
/* listening socket descriptor */
- int listener;
+ int32_t listener;
/* newly accept()ed socket descriptor */
- int newfd;
+ int32_t newfd;
/* buffer for client data */
char buf[1024];
- int nbytes;
+ int32_t nbytes;
/* for setsockopt() SO_REUSEADDR, below */
- int yes = 1;
- int addrlen;
- int i, j;
+ int32_t yes = 1;
+ int32_t addrlen;
+ int32_t i, j;
/* clear the master and temp sets */
FD_ZERO(&master);
@@ -50,7 +50,7 @@ int main(int argc, char *argv[])
printf("Server-socket() is OK...\n");
/*"address already in use" error message */
- if(setsockopt(listener, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(int)) == -1)
+ if(setsockopt(listener, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(int32_t)) == -1)
{
perror("Server-setsockopt() error lol!");
exit(1);
diff --git a/man/communication.h.3 b/man/communication.h.3
index ccdb14c..f3b9db5 100644
--- a/man/communication.h.3
+++ b/man/communication.h.3
@@ -5,25 +5,25 @@ communication.h \- all functions explained
.nf
.B #include
.sp
-.BI "int ipc_server_init (int "argc ", char **" argv ", char **" env ", struct ipc_service *" srv "
+.BI "int32_t ipc_server_init (int32_t "argc ", char **" argv ", char **" env ", struct ipc_service *" srv "
.BI " , const char *" service_name );
-.BI "int ipc_server_accept (struct ipc_service *" srv ", struct ipc_client *" p );
+.BI "int32_t ipc_server_accept (struct ipc_service *" srv ", struct ipc_client *" p );
.sp
-.BI "int ipc_server_read (const struct ipc_client *" p ", struct ipc_message *" message );
-.BI "int ipc_server_write (const struct ipc_client *" p ", const struct ipc_message *" message );
+.BI "int32_t ipc_server_read (const struct ipc_client *" p ", struct ipc_message *" message );
+.BI "int32_t ipc_server_write (const struct ipc_client *" p ", const struct ipc_message *" message );
.sp
-.BI "int ipc_server_close (struct ipc_service *" srv );
-.BI "int ipc_server_close_client (struct ipc_client *" p );
-.BI "int ipc_server_select (struct ipc_clients *" fds ", struct ipc_service *" srv ", struct ipc_clients *" readfds );
+.BI "int32_t ipc_server_close (struct ipc_service *" srv );
+.BI "int32_t ipc_server_close_client (struct ipc_client *" p );
+.BI "int32_t ipc_server_select (struct ipc_clients *" fds ", struct ipc_service *" srv ", struct ipc_clients *" readfds );
-.BI "int ipc_application_connection (int " argc ", char **" argv ", char **" env ", struct ipc_service *" srv
+.BI "int32_t ipc_application_connection (int32_t " argc ", char **" argv ", char **" env ", struct ipc_service *" srv
.BI " , const char *" service_name "
.BI " , const char *" connection_buffer ", size_t " bufsize );
.sp
-.BI "int ipc_application_read (const struct ipc_service *" srv ", struct ipc_message *" message );
-.BI "int ipc_application_write (const struct ipc_service *" srv ", const struct ipc_message *" message );
+.BI "int32_t ipc_application_read (const struct ipc_service *" srv ", struct ipc_message *" message );
+.BI "int32_t ipc_application_write (const struct ipc_service *" srv ", const struct ipc_message *" message );
.sp
-.BI "int ipc_application_close (struct ipc_service *" srv );
+.BI "int32_t ipc_application_close (struct ipc_service *" srv );
.fi
diff --git a/pong/app/ipc-debug.c b/pong/app/ipc-debug.c
index d4b4d14..a22da43 100644
--- a/pong/app/ipc-debug.c
+++ b/pong/app/ipc-debug.c
@@ -5,6 +5,8 @@
#include
#include
+#include
+
#include "../../core/communication.h"
#include "../../core/error.h"