server.h revision 36285
131921Sbrian/*-
231921Sbrian * Copyright (c) 1997 Brian Somers <brian@Awfulhak.org>
331921Sbrian * All rights reserved.
431921Sbrian *
531921Sbrian * Redistribution and use in source and binary forms, with or without
631921Sbrian * modification, are permitted provided that the following conditions
731921Sbrian * are met:
831921Sbrian * 1. Redistributions of source code must retain the above copyright
931921Sbrian *    notice, this list of conditions and the following disclaimer.
1031921Sbrian * 2. Redistributions in binary form must reproduce the above copyright
1131921Sbrian *    notice, this list of conditions and the following disclaimer in the
1231921Sbrian *    documentation and/or other materials provided with the distribution.
1331921Sbrian *
1431921Sbrian * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
1531921Sbrian * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1631921Sbrian * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1731921Sbrian * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
1831921Sbrian * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
1931921Sbrian * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2031921Sbrian * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2131921Sbrian * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2231921Sbrian * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
2331921Sbrian * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
2431921Sbrian * SUCH DAMAGE.
2531921Sbrian *
2636285Sbrian *	$Id: server.h,v 1.4.2.5 1998/05/01 19:25:52 brian Exp $
2730715Sbrian */
2830715Sbrian
2936285Sbrianstruct bundle;
3026940Sbrian
3136285Sbrianstruct server {
3236285Sbrian  struct descriptor desc;
3336285Sbrian  int fd;
3436285Sbrian  char passwd[50];
3536285Sbrian
3636285Sbrian  struct sockaddr_un ifsun;	/* local socket */
3736285Sbrian  char *rm;			/* Points to local socket path */
3836285Sbrian
3936285Sbrian  u_short port;			/* tcp socket */
4036285Sbrian};
4136285Sbrian
4236285Sbrian#define descriptor2server(d) \
4336285Sbrian  ((d)->type == SERVER_DESCRIPTOR ? (struct server *)(d) : NULL)
4436285Sbrian
4536285Sbrianextern struct server server;
4636285Sbrian
4736285Sbrianextern int server_LocalOpen(struct bundle *, const char *, mode_t);
4836285Sbrianextern int server_TcpOpen(struct bundle *, int);
4936285Sbrianextern int server_Close(struct bundle *);
50