Annotation of embedaddon/coova-chilli/src/cmdsock.c, revision 1.1.1.1
1.1 misho 1: /*
2: * chilli - A Wireless LAN Access Point Controller.
3: * Copyright (c) 2007 David Bird <david@coova.com>
4: *
5: * The contents of this file may be used under the terms of the GNU
6: * General Public License Version 2, provided that the above copyright
7: * notice and this permission notice is included in all copies or
8: * substantial portions of the software.
9: *
10: */
11:
12: #include "system.h"
13: #include "redir.h"
14: #include "syserr.h"
15: #include "radius.h"
16: #include "dhcp.h"
17: #include "chilli.h"
18: #include "cmdline.h"
19: #include "options.h"
20: #include "cmdsock.h"
21:
22: int
23: cmdsock_init() {
24: struct sockaddr_un local;
25: int cmdsock;
26:
27: if ((cmdsock = socket(AF_UNIX, SOCK_STREAM, 0)) == -1) {
28: log_err(errno, "could not allocate UNIX Socket!");
29: } else {
30: local.sun_family = AF_UNIX;
31:
32: strcpy(local.sun_path, options.cmdsocket);
33: unlink(local.sun_path);
34:
35: if (bind(cmdsock, (struct sockaddr *)&local,
36: sizeof(struct sockaddr_un)) == -1) {
37: log_err(errno, "could bind UNIX Socket!");
38: close(cmdsock);
39: cmdsock = -1;
40: } else {
41: if (listen(cmdsock, 5) == -1) {
42: log_err(errno, "could listen to UNIX Socket!");
43: close(cmdsock);
44: cmdsock = -1;
45: }
46: }
47: }
48:
49: return cmdsock;
50: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>