diff options
| author | Cem Keylan <cem@ckyln.com> | 2020-10-16 17:41:25 +0300 | 
|---|---|---|
| committer | Cem Keylan <cem@ckyln.com> | 2020-10-16 17:41:25 +0300 | 
| commit | e2abcdca396661cbe0ae2ddb13d5c2b85682c13a (patch) | |
| tree | acf9b5c80b645617f882c45224c6e07251711842 /include/protocols | |
| download | otools-e2abcdca396661cbe0ae2ddb13d5c2b85682c13a.tar.gz | |
initial commit
Diffstat (limited to 'include/protocols')
| -rw-r--r-- | include/protocols/CVS/Entries | 6 | ||||
| -rw-r--r-- | include/protocols/CVS/Repository | 1 | ||||
| -rw-r--r-- | include/protocols/CVS/Root | 1 | ||||
| -rw-r--r-- | include/protocols/dumprestore.h | 159 | ||||
| -rw-r--r-- | include/protocols/routed.h | 152 | ||||
| -rw-r--r-- | include/protocols/rwhod.h | 67 | ||||
| -rw-r--r-- | include/protocols/talkd.h | 120 | ||||
| -rw-r--r-- | include/protocols/timed.h | 101 | 
8 files changed, 607 insertions, 0 deletions
diff --git a/include/protocols/CVS/Entries b/include/protocols/CVS/Entries new file mode 100644 index 0000000..f53456b --- /dev/null +++ b/include/protocols/CVS/Entries @@ -0,0 +1,6 @@ +/dumprestore.h/1.10/Fri Jul 11 16:01:40 2014// +/routed.h/1.3/Mon Jun  2 19:34:12 2003// +/rwhod.h/1.4/Mon Jun  2 19:34:12 2003// +/talkd.h/1.5/Wed Jan 21 02:23:14 2015// +/timed.h/1.4/Fri Jan 16 00:27:00 2015// +D diff --git a/include/protocols/CVS/Repository b/include/protocols/CVS/Repository new file mode 100644 index 0000000..c49ead8 --- /dev/null +++ b/include/protocols/CVS/Repository @@ -0,0 +1 @@ +src/include/protocols diff --git a/include/protocols/CVS/Root b/include/protocols/CVS/Root new file mode 100644 index 0000000..3811072 --- /dev/null +++ b/include/protocols/CVS/Root @@ -0,0 +1 @@ +/cvs diff --git a/include/protocols/dumprestore.h b/include/protocols/dumprestore.h new file mode 100644 index 0000000..9a94a0c --- /dev/null +++ b/include/protocols/dumprestore.h @@ -0,0 +1,159 @@ +/*	$OpenBSD: dumprestore.h,v 1.10 2014/07/11 16:01:40 halex Exp $	*/ +/*	$NetBSD: dumprestore.h,v 1.14 2005/12/26 19:01:47 perry Exp $	*/ + +/* + * Copyright (c) 1980, 1993 + *	The Regents of the University of California.  All rights reserved. + * (c) UNIX System Laboratories, Inc. + * All or some portions of this file are derived from material licensed + * to the University of California by American Telephone and Telegraph + * Co. or Unix System Laboratories, Inc. and are reproduced herein with + * the permission of UNIX System Laboratories, Inc. + * + * 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. Redistributions in binary form must reproduce the above copyright + *    notice, this list of conditions and the following disclaimer in the + *    documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + *    may be used to endorse or promote products derived from this software + *    without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. + * + *	@(#)dumprestore.h	8.2 (Berkeley) 1/21/94 + */ + +#ifndef _PROTOCOLS_DUMPRESTORE_H_ +#define _PROTOCOLS_DUMPRESTORE_H_ + +/* + * TP_BSIZE is the size of file blocks on the dump tapes. + * Note that TP_BSIZE must be a multiple of DEV_BSIZE. + * + * NTREC is the number of TP_BSIZE blocks that are written + * in each tape record. HIGHDENSITYTREC is the number of + * TP_BSIZE blocks that are written in each tape record on + * 6250 BPI or higher density tapes. + * + * TP_NINDIR is the number of indirect pointers in a TS_INODE + * or TS_ADDR record. Note that it must be a power of two. + */ +#define TP_BSIZE	1024 +#define NTREC   	10 +#define HIGHDENSITYTREC	32 +#define TP_NINDIR	(TP_BSIZE/2) +#define LBLSIZE		16 +#define NAMELEN		64 + +#define OFS_MAGIC   	(int)60011 +#define NFS_MAGIC   	(int)60012 +#ifndef FS_UFS2_MAGIC +#define FS_UFS2_MAGIC   (int)0x19540119 +#endif +#define CHECKSUM	(int)84446 + +union u_spcl { +	char dummy[TP_BSIZE]; +	struct	s_spcl { +		int32_t	c_type;		    /* record type (see below) */ +		int32_t	c_old_date;	    /* date of this dump */ +		int32_t	c_old_ddate;	    /* date of previous dump */ +		int32_t	c_volume;	    /* dump volume number */ +		int32_t	c_old_tapea;	    /* logical block of this record */ +		uint32_t c_inumber;	    /* number of inode */ +		int32_t	c_magic;	    /* magic number (see above) */ +		int32_t	c_checksum;	    /* record checksum */ +		union { +			struct ufs1_dinode __uc_dinode; +			struct { +				uint16_t __uc_mode; +				int16_t __uc_spare1[3]; +				uint64_t __uc_size; +				int32_t __uc_old_atime; +				int32_t __uc_atimensec; +				int32_t __uc_old_mtime; +				int32_t __uc_mtimensec; +				int32_t __uc_spare2[2]; +				int32_t __uc_rdev; +				int32_t __uc_birthtimensec; +				int64_t __uc_birthtime; +				int64_t __uc_atime; +				int64_t __uc_mtime; +				int32_t __uc_spare4[7]; +				uint32_t __uc_file_flags; +				int32_t __uc_spare5[2]; +				uint32_t __uc_uid; +				uint32_t __uc_gid; +				int32_t __uc_spare6[2]; +			} __uc_ino; +		} __c_ino; +		int32_t	c_count;	    /* number of valid c_addr entries */ +		char	c_addr[TP_NINDIR];  /* 1 => data; 0 => hole in inode */ +		char	c_label[LBLSIZE];   /* dump label */ +		int32_t	c_level;	    /* level of this dump */ +		char	c_filesys[NAMELEN]; /* name of dumped file system */ +		char	c_dev[NAMELEN];	    /* name of dumped device */ +		char	c_host[NAMELEN];    /* name of dumped host */ +		int32_t	c_flags;	    /* additional information */ +		int32_t	c_old_firstrec;	    /* first record on volume */ +		int64_t c_date;		    /* date of this dump */ +		int64_t c_ddate;	    /* date of previous dump */ +		int64_t c_tapea;	    /* logical block of this record */ +		int64_t c_firstrec;	    /* first record on volume */ +		int32_t	c_spare[24];	    /* reserved for future uses */ +	} s_spcl; +} u_spcl; +#define spcl u_spcl.s_spcl + +#define c_dinode	__c_ino.__uc_dinode +#define c_mode		__c_ino.__uc_ino.__uc_mode +#define c_spare1	__c_ino.__uc_ino.__uc_spare1 +#define c_size		__c_ino.__uc_ino.__uc_size +#define c_old_atime	__c_ino.__uc_ino.__uc_old_atime +#define c_atime		__c_ino.__uc_ino.__uc_atime +#define c_atimensec	__c_ino.__uc_ino.__uc_atimensec +#define c_mtime		__c_ino.__uc_ino.__uc_mtime +#define c_mtimensec	__c_ino.__uc_ino.__uc_mtimensec +#define c_birthtime	__c_ino.__uc_ino.__uc_birthtime +#define c_birthtimensec	__c_ino.__uc_ino.__uc_birthtimensec +#define c_old_mtime	__c_ino.__uc_ino.__uc_old_mtime +#define c_rdev		__c_ino.__uc_ino.__uc_rdev +#define c_file_flags	__c_ino.__uc_ino.__uc_file_flags +#define c_uid		__c_ino.__uc_ino.__uc_uid +#define c_gid		__c_ino.__uc_ino.__uc_gid + +/* + * special record types + */ +#define TS_TAPE 	1	/* dump tape header */ +#define TS_INODE	2	/* beginning of file record */ +#define TS_ADDR 	4	/* continuation of file record */ +#define TS_BITS 	3	/* map of inodes on tape */ +#define TS_CLRI 	6	/* map of inodes deleted since last dump */ +#define TS_END  	5	/* end of volume marker */ + +/* + * flag values + */ +#define DR_NEWHEADER	0x0001	/* new format tape header */ +#define DR_NEWINODEFMT	0x0002	/* new format inodes on tape */ + +#define	DUMPOUTFMT	"%-18s %c %s"		/* for printf */ +						/* name, level, ctime(date) */ +#define	DUMPINFMT	"%18s %c %[^\n]\n"	/* inverse for scanf */ + +#endif /* !_PROTOCOLS_DUMPRESTORE_H_ */ diff --git a/include/protocols/routed.h b/include/protocols/routed.h new file mode 100644 index 0000000..83331a4 --- /dev/null +++ b/include/protocols/routed.h @@ -0,0 +1,152 @@ +/*	$OpenBSD: routed.h,v 1.3 2003/06/02 19:34:12 millert Exp $	*/ + +/*- + * Copyright (c) 1983, 1989, 1993 + *	The Regents of the University of California.  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. Redistributions in binary form must reproduce the above copyright + *    notice, this list of conditions and the following disclaimer in the + *    documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + *    may be used to endorse or promote products derived from this software + *    without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. + * + *	@(#)routed.h	8.1 (Berkeley) 6/2/93 + * + */ + +#ifndef _ROUTED_H_ +#define	_ROUTED_H_ + +/* + * Routing Information Protocol + * + * Derived from Xerox NS Routing Information Protocol + * by changing 32-bit net numbers to sockaddr's and + * padding stuff to 32-bit boundaries. + */ + +#define	RIPv1		1 +#define	RIPv2		2 +#ifndef RIPVERSION +#define	RIPVERSION	RIPv1 +#endif + +#define RIP_PORT	520 + +#if RIPVERSION == 1 +/* Note that this so called sockaddr has a 2-byte sa_family and no sa_len. + * It is not a UNIX sockaddr, but the shape of an address as defined + * in RIPv1.  It is still defined to allow old versions of programs + * such as `gated` to use this file to define RIPv1. + */ +struct netinfo { +	struct	sockaddr rip_dst;	/* destination net/host */ +	u_int32_t   rip_metric;		/* cost of route */ +}; +#else +struct netinfo { +	u_int16_t   n_family; +#define	    RIP_AF_INET	    htons(AF_INET) +#define	    RIP_AF_UNSPEC   0 +#define	    RIP_AF_AUTH	    0xffff +	u_int16_t   n_tag;		/* optional in RIPv2 */ +	u_int32_t   n_dst;		/* destination net or host */ +#define	    RIP_DEFAULT	    0 +	u_int32_t   n_mask;		/* netmask in RIPv2 */ +	u_int32_t   n_nhop;		/* optional next hop in RIPv2 */ +	u_int32_t   n_metric;		/* cost of route */ +}; +#endif + +/* RIPv2 authentication */ +struct netauth { +	u_int16_t   a_type; +#define	    RIP_AUTH_PW	    htons(2)	/* password type */ +	union { +#define	    RIP_AUTH_PW_LEN 16 +	    int8_t    au_pw[RIP_AUTH_PW_LEN]; +	} au; +}; + +struct rip { +	u_int8_t    rip_cmd;		/* request/response */ +	u_int8_t    rip_vers;		/* protocol version # */ +	u_int16_t   rip_res1;		/* pad to 32-bit boundary */ +	union {				/* variable length... */ +	    struct netinfo ru_nets[1]; +	    int8_t    ru_tracefile[1]; +	    struct netauth ru_auth[1]; +	} ripun; +#define	rip_nets	ripun.ru_nets +#define	rip_tracefile	ripun.ru_tracefile +}; + +/* Packet types. + */ +#define	RIPCMD_REQUEST		1	/* want info */ +#define	RIPCMD_RESPONSE		2	/* responding to request */ +#define	RIPCMD_TRACEON		3	/* turn tracing on */ +#define	RIPCMD_TRACEOFF		4	/* turn it off */ + +/* Gated extended RIP to include a "poll" command instead of using + * RIPCMD_REQUEST with (RIP_AF_UNSPEC, RIP_DEFAULT).  RFC 1058 says + * command 5 is used by Sun Microsystems for its own purposes. + */ +#define RIPCMD_POLL		5 + +#define	RIPCMD_MAX		6 + +#ifdef RIPCMDS +char *ripcmds[RIPCMD_MAX] = { +	"#0", "REQUEST", "RESPONSE", "TRACEON", "TRACEOFF" +}; +#endif + +#define	HOPCNT_INFINITY		16 +#define	MAXPACKETSIZE		512	/* max broadcast size */ +#define NETS_LEN ((MAXPACKETSIZE-sizeof(struct rip))	\ +		      / sizeof(struct netinfo) +1) + +#define INADDR_RIP_GROUP __IPADDR(0xe0000009)	/* 224.0.0.9 */ + + +/* Timer values used in managing the routing table. + * + * Complete tables are broadcast every SUPPLY_INTERVAL seconds. + * If changes occur between updates, dynamic updates containing only changes + * may be sent.  When these are sent, a timer is set for a random value + * between MIN_WAITTIME and MAX_WAITTIME, and no additional dynamic updates + * are sent until the timer expires. + * + * Every update of a routing entry forces an entry's timer to be reset. + * After EXPIRE_TIME without updates, the entry is marked invalid, + * but held onto until GARBAGE_TIME so that others may see it, to + * "poison" the bad route. + */ +#define	SUPPLY_INTERVAL		30	/* time to supply tables */ +#define	MIN_WAITTIME		2	/* min sec until next flash updates */ +#define	MAX_WAITTIME		5	/* max sec until flash update */ + +#define STALE_TIME		90	/* switch to a new gateway */ +#define	EXPIRE_TIME		180	/* time to mark entry invalid */ +#define	GARBAGE_TIME		240	/* time to garbage collect */ + +#endif /* !_ROUTED_H_ */ diff --git a/include/protocols/rwhod.h b/include/protocols/rwhod.h new file mode 100644 index 0000000..c182e96 --- /dev/null +++ b/include/protocols/rwhod.h @@ -0,0 +1,67 @@ +/*	$OpenBSD: rwhod.h,v 1.4 2003/06/02 19:34:12 millert Exp $	*/ +/*	$NetBSD: rwhod.h,v 1.3 1994/10/26 00:56:51 cgd Exp $	*/ + +/* + * Copyright (c) 1983 The Regents of the University of California. + * 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. Redistributions in binary form must reproduce the above copyright + *    notice, this list of conditions and the following disclaimer in the + *    documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + *    may be used to endorse or promote products derived from this software + *    without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. + * + *	@(#)rwhod.h	5.6 (Berkeley) 4/3/91 + */ + +#ifndef _RWHOD_H_ +#define	_RWHOD_H_ + +/* + * rwho protocol packet format. + */ +struct	outmp { +	char	out_line[8];		/* tty name */ +	char	out_name[8];		/* user id */ +	int32_t	out_time;		/* time on */ +}; + +struct	whod { +	char	wd_vers;		/* protocol version # */ +	char	wd_type;		/* packet type, see below */ +	char	wd_pad[2]; +	int32_t	wd_sendtime;		/* time stamp by sender */ +	int32_t	wd_recvtime;		/* time stamp applied by receiver */ +	char	wd_hostname[32];	/* hosts's name */ +	int32_t	wd_loadav[3];		/* load average as in uptime */ +	int32_t	wd_boottime;		/* time system booted */ +	struct	whoent { +		struct		outmp we_utmp;	/* active tty info */ +		int32_t		we_idle;	/* tty idle time */ +	} wd_we[1024 / sizeof (struct whoent)]; +}; + +#define	WHODVERSION	1 +#define	WHODTYPE_STATUS	1		/* host status */ + +#define	_PATH_RWHODIR	"/var/rwho" + +#endif /* !_RWHOD_H_ */ diff --git a/include/protocols/talkd.h b/include/protocols/talkd.h new file mode 100644 index 0000000..fae2b42 --- /dev/null +++ b/include/protocols/talkd.h @@ -0,0 +1,120 @@ +/*	$OpenBSD: talkd.h,v 1.5 2015/01/21 02:23:14 guenther Exp $	*/ +/*	$NetBSD: talkd.h,v 1.5 1995/03/04 07:59:30 cgd Exp $	*/ + +/* + * Copyright (c) 1983 Regents of the University of California. + * 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. Redistributions in binary form must reproduce the above copyright + *    notice, this list of conditions and the following disclaimer in the + *    documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + *    may be used to endorse or promote products derived from this software + *    without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. + * + *	@(#)talkd.h	5.7 (Berkeley) 4/3/91 + */ + +#ifndef _TALKD_H_ +#define	_TALKD_H_ + +/* + * This describes the protocol used by the talk server and clients. + * + * The talk server acts a repository of invitations, responding to + * requests by clients wishing to rendezvous for the purpose of + * holding a conversation.  In normal operation, a client, the caller, + * initiates a rendezvous by sending a CTL_MSG to the server of + * type LOOK_UP.  This causes the server to search its invitation + * tables to check if an invitation currently exists for the caller + * (to speak to the callee specified in the message).  If the lookup + * fails, the caller then sends an ANNOUNCE message causing the server + * to broadcast an announcement on the callee's login ports requesting + * contact.  When the callee responds, the local server uses the + * recorded invitation to respond with the appropriate rendezvous + * address and the caller and callee client programs establish a + * stream connection through which the conversation takes place. + */ + +struct osockaddr { +	unsigned short	sa_family;	/* address family */ +	char		sa_data[14];	/* up to 14 bytes of direct address */ +}; + +/* + * Client->server request message format. + */ +typedef struct { +	unsigned char	  vers;			/* protocol version */ +	unsigned char	  type;			/* request type, see below */ +	unsigned char	  answer;		/* not used */ +	unsigned char	  pad; +	u_int32_t 	  id_num;		/* message id */ +	struct	  osockaddr addr;		/* old (4.3) style */ +	struct	  osockaddr ctl_addr;		/* old (4.3) style */ +	int32_t	  	  pid;			/* caller's process id */ +#define	NAME_SIZE	12 +	char	  	  l_name[NAME_SIZE];	/* caller's name */ +	char	  	  r_name[NAME_SIZE];	/* callee's name */ +#define	TTY_SIZE	16 +	char	  	  r_tty[TTY_SIZE];	/* callee's tty name */ +} CTL_MSG; + +/* + * Server->client response message format. + */ +typedef struct { +	unsigned char	  vers;		/* protocol version */ +	unsigned char	  type;		/* type of request message, see below */ +	unsigned char	  answer;	/* response to request message,  +					   see below */ +	unsigned char	  pad; +	u_int32_t 	  id_num;	/* message id */ +	struct	  osockaddr addr; 	/* address for establishing  +					   conversation */ +} CTL_RESPONSE; + +#define	TALK_VERSION	1		/* protocol version */ + +/* message type values */ +#define LEAVE_INVITE	0	/* leave invitation with server */ +#define LOOK_UP		1	/* check for invitation by callee */ +#define DELETE		2	/* delete invitation by caller */ +#define ANNOUNCE	3	/* announce invitation by caller */ + +/* answer values */ +#define SUCCESS		0	/* operation completed properly */ +#define NOT_HERE	1	/* callee not logged in */ +#define FAILED		2	/* operation failed for unexplained reason */ +#define MACHINE_UNKNOWN	3	/* caller's machine name unknown */ +#define PERMISSION_DENIED 4	/* callee's tty doesn't permit announce */ +#define UNKNOWN_REQUEST	5	/* request has invalid type value */ +#define	BADVERSION	6	/* request has invalid protocol version */ +#define	BADADDR		7	/* request has invalid addr value */ +#define	BADCTLADDR	8	/* request has invalid ctl_addr value */ + +/* + * Operational parameters. + */ +#define MAX_LIFE	60	/* max time daemon saves invitations */ +/* RING_WAIT should be 10's of seconds less than MAX_LIFE */ +#define RING_WAIT	30	/* time to wait before resending invitation */ + +#endif /* !_TALKD_H_ */ diff --git a/include/protocols/timed.h b/include/protocols/timed.h new file mode 100644 index 0000000..12531d1 --- /dev/null +++ b/include/protocols/timed.h @@ -0,0 +1,101 @@ +/*	$OpenBSD: timed.h,v 1.4 2015/01/16 00:27:00 deraadt Exp $	*/ +/*	$NetBSD: timed.h,v 1.5 1996/04/09 20:40:32 cgd Exp $	*/ + +/* + * Copyright (c) 1983 Regents of the University of California. + * 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. Redistributions in binary form must reproduce the above copyright + *    notice, this list of conditions and the following disclaimer in the + *    documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + *    may be used to endorse or promote products derived from this software + *    without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. + * + *	@(#)timed.h	1.10 (Berkeley) 4/3/91 + */ + +#ifndef	_TIMED_H_ +#define	_TIMED_H_ + +/* + * Time Synchronization Protocol + */ + +#define	TSPVERSION	1 +#define ANYADDR 	NULL + +struct tsp { +	u_int8_t tsp_type; +	u_int8_t tsp_vers; +	u_int16_t tsp_seq; +	union { +		struct { +			int32_t tv_sec; +			int32_t tv_usec; +		} tspu_time; +		char tspu_hopcnt; +	} tsp_u; +	char tsp_name[256]; +}; + +#define	tsp_time	tsp_u.tspu_time +#define	tsp_hopcnt	tsp_u.tspu_hopcnt +  +/* + * Command types. + */ +#define	TSP_ANY			0	/* match any types */ +#define	TSP_ADJTIME		1	/* send adjtime */ +#define	TSP_ACK			2	/* generic acknowledgement */ +#define	TSP_MASTERREQ		3	/* ask for master's name */  +#define	TSP_MASTERACK		4	/* acknowledge master request */ +#define	TSP_SETTIME		5	/* send network time */ +#define	TSP_MASTERUP		6	/* inform slaves that master is up */ +#define	TSP_SLAVEUP		7	/* slave is up but not polled */ +#define	TSP_ELECTION		8	/* advance candidature for master */ +#define	TSP_ACCEPT		9	/* support candidature of master */ +#define	TSP_REFUSE		10	/* reject candidature of master */ +#define	TSP_CONFLICT		11	/* two or more masters present */ +#define	TSP_RESOLVE		12	/* masters' conflict resolution */ +#define	TSP_QUIT		13	/* reject candidature if master is up */ +#define	TSP_DATE		14	/* reset the time (date command) */ +#define	TSP_DATEREQ		15	/* remote request to reset the time */ +#define	TSP_DATEACK		16	/* acknowledge time setting  */ +#define	TSP_TRACEON		17	/* turn tracing on */ +#define	TSP_TRACEOFF		18	/* turn tracing off */ +#define	TSP_MSITE		19	/* find out master's site */ +#define	TSP_MSITEREQ		20	/* remote master's site request */ +#define	TSP_TEST		21	/* for testing election algo */ +#define	TSP_SETDATE		22	/* New from date command */ +#define	TSP_SETDATEREQ		23	/* New remote for above */ +#define	TSP_LOOP		24	/* loop detection packet */ + +#define	TSPTYPENUMBER		25 + +#ifdef TSPTYPES +char *tsptype[TSPTYPENUMBER] = +  { "ANY", "ADJTIME", "ACK", "MASTERREQ", "MASTERACK", "SETTIME", "MASTERUP",  +  "SLAVEUP", "ELECTION", "ACCEPT", "REFUSE", "CONFLICT", "RESOLVE", "QUIT",  +  "DATE", "DATEREQ", "DATEACK", "TRACEON", "TRACEOFF", "MSITE", "MSITEREQ", +  "TEST", "SETDATE", "SETDATEREQ", "LOOP" }; +#endif + +#endif /* !_TIMED_H_ */  | 
