src/network.c

changeset 95
2624e7ebb525
parent 94
864f59271974
child 96
5faa21316c85
equal deleted inserted replaced
94:864f59271974 95:2624e7ebb525
30 #include <stdlib.h> 30 #include <stdlib.h>
31 #include <string.h> 31 #include <string.h>
32 #include <stdio.h> 32 #include <stdio.h>
33 #include <unistd.h> 33 #include <unistd.h>
34 #include <sys/un.h> 34 #include <sys/un.h>
35 #include <sys/stat.h>
35 #include "network.h" 36 #include "network.h"
36 37
37 int net_create_tcp(Server *server, short port) { 38 int net_create_tcp(Server *server, short port) {
38 memset(server, 0, sizeof(Server)); 39 memset(server, 0, sizeof(Server));
39 server->fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); 40 server->fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
79 strncpy(addr.sun_path, path, sizeof(addr.sun_path) - 1); 80 strncpy(addr.sun_path, path, sizeof(addr.sun_path) - 1);
80 if (bind(server->fd, (struct sockaddr*)&addr, sizeof(addr))) { 81 if (bind(server->fd, (struct sockaddr*)&addr, sizeof(addr))) {
81 server->fd = -1; 82 server->fd = -1;
82 return 1; 83 return 1;
83 } else { 84 } else {
85 fchmod(server->fd, S_IRWXU | S_IRWXG | S_IRWXO);
84 return 0; 86 return 0;
85 } 87 }
86 } else { 88 } else {
87 return 1; 89 return 1;
88 } 90 }

mercurial