diff options
author | Alexander Wenzel <Alexander.AW.Wenzel@bmw.de> | 2013-12-19 10:18:03 +0100 |
---|---|---|
committer | Alexander Wenzel <Alexander.AW.Wenzel@bmw.de> | 2014-01-10 07:16:14 +0100 |
commit | 9b74a8457aaa9b282cf79427a713b907635d82a2 (patch) | |
tree | e09145e56abd101db80657f52ef79918ce0aa86d /src/daemon/dlt_daemon_socket.c | |
parent | 8029c1387c240fcd085be13f38d9adadc97c03bf (diff) | |
download | DLT-daemon-9b74a8457aaa9b282cf79427a713b907635d82a2.tar.gz |
Cleanup of send return values. Further cleanup of send restructure.
Signed-off-by: Alexander Wenzel <Alexander.AW.Wenzel@bmw.de>
Diffstat (limited to 'src/daemon/dlt_daemon_socket.c')
-rw-r--r-- | src/daemon/dlt_daemon_socket.c | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/src/daemon/dlt_daemon_socket.c b/src/daemon/dlt_daemon_socket.c index 033ea15..1492831 100644 --- a/src/daemon/dlt_daemon_socket.c +++ b/src/daemon/dlt_daemon_socket.c @@ -61,6 +61,8 @@ #include <syslog.h> #include <errno.h> #include <pthread.h> +#include <sys/ioctl.h> +#include <net/if.h> #include <sys/timerfd.h> #include <sys/stat.h> @@ -113,6 +115,10 @@ int dlt_daemon_socket_open(int *sock) return -1; } /* if */ + /* get socket buffer size */ + sprintf(str,"dlt_daemon_socket_open: Socket send queue size: %d\n",dlt_daemon_socket_get_send_qeue_max_size(*sock)); + dlt_log(LOG_INFO, str); + return 0; /* OK */ } @@ -129,7 +135,7 @@ int dlt_daemon_socket_send(int sock,void* data1,int size1,void* data2,int size2, if (serialheader) { if ( 0 > send(sock, dltSerialHeader,sizeof(dltSerialHeader),0) ) - return -1; + return DLT_DAEMON_ERROR_SEND_FAILED; } @@ -137,14 +143,24 @@ int dlt_daemon_socket_send(int sock,void* data1,int size1,void* data2,int size2, if(data1 && size1>0) { if (0 > send(sock, data1,size1,0)) - return -1; + return DLT_DAEMON_ERROR_SEND_FAILED; } if(data2 && size2>0) { if (0 > send(sock, data2,size2,0)) - return -1; + return DLT_DAEMON_ERROR_SEND_FAILED; } - return 0; + return DLT_DAEMON_ERROR_OK; } + +int dlt_daemon_socket_get_send_qeue_max_size(int sock) +{ + int n = 0; + unsigned int m = sizeof(n); + getsockopt(sock,SOL_SOCKET,SO_SNDBUF,(void *)&n, &m); + + return n; +} + |