Annotation of embedaddon/coova-chilli/src/cmdsock.c, revision 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>