summaryrefslogtreecommitdiff
path: root/noncore/net/wellenreiter
authormjm <mjm>2002-11-27 21:16:52 (UTC)
committer mjm <mjm>2002-11-27 21:16:52 (UTC)
commite16163a106d5f814e9774f6a630cdb2ee488a616 (patch) (unidiff)
treeec0468c5a4cc889f3c4f7cca26c3dcb1d3e324b6 /noncore/net/wellenreiter
parentc118084479a4d146244b3e9e86b958f618a80a6d (diff)
downloadopie-e16163a106d5f814e9774f6a630cdb2ee488a616.zip
opie-e16163a106d5f814e9774f6a630cdb2ee488a616.tar.gz
opie-e16163a106d5f814e9774f6a630cdb2ee488a616.tar.bz2
new funection recvcomm for receiving commands, cleanup,...
Diffstat (limited to 'noncore/net/wellenreiter') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/wellenreiter/libwellenreiter/source/sock.cc28
-rw-r--r--noncore/net/wellenreiter/libwellenreiter/source/sock.hh1
2 files changed, 25 insertions, 4 deletions
diff --git a/noncore/net/wellenreiter/libwellenreiter/source/sock.cc b/noncore/net/wellenreiter/libwellenreiter/source/sock.cc
index 2cc16eb..90fc20a 100644
--- a/noncore/net/wellenreiter/libwellenreiter/source/sock.cc
+++ b/noncore/net/wellenreiter/libwellenreiter/source/sock.cc
@@ -50,2 +50,6 @@ int sendcomm(const char *host, int port, const char *string, ...)
50 50
51 saddr.sin_family = AF_INET;
52 saddr.sin_port = htons(port);
53 saddr.sin_addr.s_addr = inet_addr(host);
54
51 /* Setup socket */ 55 /* Setup socket */
@@ -57,6 +61,2 @@ int sendcomm(const char *host, int port, const char *string, ...)
57 61
58 saddr.sin_family = AF_INET;
59 saddr.sin_port = htons(port);
60 saddr.sin_addr.s_addr = inet_addr(host);
61
62 if(sendto(sock, buffer, sizeof(buffer), 0, (struct sockaddr *)&saddr, sizeof(saddr)) < 0) 62 if(sendto(sock, buffer, sizeof(buffer), 0, (struct sockaddr *)&saddr, sizeof(saddr)) < 0)
@@ -73 +73,21 @@ int sendcomm(const char *host, int port, const char *string, ...)
73} 73}
74
75/* Check for new messages on commsock */
76int recvcomm(int *sock, char *out, int maxlen)
77{
78 struct sockaddr_in *cliaddr;
79 socklen_t len=sizeof(struct sockaddr);
80 char buffer[128], retval[3];
81
82 memset(buffer, 0, sizeof(buffer));
83 if(recvfrom(*sock, buffer, sizeof(buffer)-1, 0, (struct sockaddr *)cliaddr, &len) < 0)
84 return -1;
85
86 memset(out, 0, maxlen);
87 memcpy(out, buffer, maxlen - 1);
88
89 memset(retval, 0, sizeof(retval));
90 memcpy(retval, out, 2);
91
92 return atoi(retval);
93}
diff --git a/noncore/net/wellenreiter/libwellenreiter/source/sock.hh b/noncore/net/wellenreiter/libwellenreiter/source/sock.hh
index afde641..611e335 100644
--- a/noncore/net/wellenreiter/libwellenreiter/source/sock.hh
+++ b/noncore/net/wellenreiter/libwellenreiter/source/sock.hh
@@ -17,2 +17,3 @@ int commsock(const char *, int);
17int sendcomm(const char *, int, const char *, ...); 17int sendcomm(const char *, int, const char *, ...);
18int recvcomm(int *, char *, int);
18 19