[BACK]Return to sock.h CVS log [TXT][DIR] Up to [local] / src / usr.bin / cvs

File: [local] / src / usr.bin / cvs / Attic / sock.h (download)

Revision 1.2, Sun Jul 25 03:31:25 2004 UTC (19 years, 10 months ago) by jfb
Branch: MAIN
Changes since 1.1: +2 -5 lines

* when calling cvsd_sock_open(), close the socket if it is already
  opened, before reopening it
* remove the cvsd_sock_loop() call, it was a bad idea

/*	$OpenBSD: sock.h,v 1.2 2004/07/25 03:31:25 jfb Exp $	*/
/*
 * Copyright (c) 2004 Jean-Francois Brousseau <jfb@openbsd.org>
 * All rights reserved. 
 *
 * Redistribution and use in source and binary forms, with or without 
 * modification, are permitted provided that the following conditions 
 * are met: 
 *
 * 1. Redistributions of source code must retain the above copyright 
 *    notice, this list of conditions and the following disclaimer. 
 * 2. The name of the author may not be used to endorse or promote products
 *    derived from this software without specific prior written permission. 
 *
 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
 * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
 * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 * EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
 */

#ifndef SOCK_H
#define SOCK_H

#include <sys/types.h>
#include <sys/stat.h>
#include <sys/socket.h>

#include <err.h>
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <unistd.h>
#include <string.h>

#include "cvs.h"


#define CVSD_SOCK_PATH  "/var/run/cvsd.sock"

#define CVSD_SOCK_PERMS (S_IRWXU | S_IRWXG)


extern char *cvsd_sock_path;
extern int   cvsd_sock;

/* daemon api */
int  cvsd_sock_open   (void);
void cvsd_sock_close  (void);
int  cvsd_sock_accept (int);

/* client api */
int  cvs_sock_connect    (const char *);
void cvs_sock_disconnect (void);

#endif /* SOCK_H */