diff --git a/Samples/ipxrcv.c b/Samples/ipxrcv.c index 2a71e64..6a7317f 100644 --- a/Samples/ipxrcv.c +++ b/Samples/ipxrcv.c @@ -1,16 +1,17 @@ #include +#include +#include #include #include #include #include #include -int -main(int argc, char **argv) +int main(int argc, char **argv) { struct sockaddr_ipx sipx; int s; - int result; + int rc; char msg[100]; int len; @@ -19,34 +20,30 @@ main(int argc, char **argv) perror("IPX: socket: "); exit(-1); } + memset(&sipx, 0, sizeof(sipx)); sipx.sipx_family = AF_IPX; sipx.sipx_network = 0; sipx.sipx_port = htons(0x5000); sipx.sipx_type = 17; len = sizeof(sipx); - result = bind(s, (struct sockaddr *)&sipx, sizeof(sipx)); - if (result < 0) { + rc = bind(s, (struct sockaddr *)&sipx, sizeof(sipx)); + if (rc < 0) { perror("IPX: bind: "); exit(-1); } msg[0] = '\0'; - result = recvfrom(s, msg, sizeof(msg), 0, (struct sockaddr *)&sipx, - &len); - if (result < 0) { + rc = recvfrom(s, msg, sizeof(msg), 0, (struct sockaddr *)&sipx, &len); + if (rc < 0) { perror("IPX: recvfrom: "); } - printf("From %08lX:%02X%02X%02X%02X%02X%02X:%04X\n", - htonl(sipx.sipx_network), + printf("From %08lX:%02X%02X%02X%02X%02X%02X:%04X\n", + (unsigned long)ntohl(sipx.sipx_network), sipx.sipx_node[0], sipx.sipx_node[1], sipx.sipx_node[2], sipx.sipx_node[3], sipx.sipx_node[4], sipx.sipx_node[5], - htons(sipx.sipx_port)); + ntohs(sipx.sipx_port)); printf("\tGot \"%s\"\n", msg); return 0; } - - - - diff --git a/Samples/ipxsend.c b/Samples/ipxsend.c index f999fee..cf6c196 100644 --- a/Samples/ipxsend.c +++ b/Samples/ipxsend.c @@ -1,17 +1,18 @@ #include +#include +#include #include #include #include #include #include -int -main(int argc, char **argv) +int main(int argc, char **argv) { struct sockaddr_ipx sipx; int s; - int result; - char msg[100] = "Hi Mom"; + int rc; + char msg[100] = "Hello world!"; int len = sizeof(sipx); s = socket(AF_IPX, SOCK_DGRAM, AF_IPX); @@ -19,28 +20,32 @@ main(int argc, char **argv) perror("IPX: socket: "); exit(-1); } + memset(&sipx, 0, sizeof(sipx)); sipx.sipx_family = AF_IPX; sipx.sipx_network = 0; sipx.sipx_port = 0; sipx.sipx_type = 17; - result = bind(s, (struct sockaddr *)&sipx, sizeof(sipx)); - if (result < 0) { + rc = bind(s, (struct sockaddr *)&sipx, sizeof(sipx)); + if (rc < 0) { perror("IPX: bind: "); exit(-1); } - result = getsockname(s, (struct sockaddr *)&sipx, &len); + rc = getsockname(s, (struct sockaddr *)&sipx, &len); sipx.sipx_port = htons(0x5000); - result = sendto(s, msg, sizeof(msg), 0, (struct sockaddr *)&sipx, - sizeof(sipx)); - if (result < 0) { + sipx.sipx_node[0] = 0xFF; + sipx.sipx_node[1] = 0xFF; + sipx.sipx_node[2] = 0xFF; + sipx.sipx_node[3] = 0xFF; + sipx.sipx_node[4] = 0xFF; + sipx.sipx_node[5] = 0xFF; + + rc = sendto(s, msg, strlen(msg), 0, (struct sockaddr *)&sipx, + sizeof(sipx)); + if (rc < 0) { perror("IPX: send: "); exit(-1); } return 0; } - - - -