./usr/include/ 40755 1676 334 0 5545075567 11227 5ustar hjlisl./usr/include/arpa/ 40755 1676 334 0 5522022363 12127 5ustar hjlisl./usr/include/arpa/ftp.h100644 1676 334 7112 5350030665 13172 0ustar hjlisl/* * Copyright (c) 1983, 1989 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. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the University of * California, Berkeley and its contributors. * 4. 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. * * @(#)ftp.h 5.6 (Berkeley) 4/3/91 */ #ifndef _ARPA_FTP_H #define _ARPA_FTP_H /* Definitions for FTP; see RFC-765. */ /* * Reply codes. */ #define PRELIM 1 /* positive preliminary */ #define COMPLETE 2 /* positive completion */ #define CONTINUE 3 /* positive intermediate */ #define TRANSIENT 4 /* transient negative completion */ #define ERROR 5 /* permanent negative completion */ /* * Type codes */ #define TYPE_A 1 /* ASCII */ #define TYPE_E 2 /* EBCDIC */ #define TYPE_I 3 /* image */ #define TYPE_L 4 /* local byte size */ #ifdef FTP_NAMES char *typenames[] = {"0", "ASCII", "EBCDIC", "Image", "Local" }; #endif /* * Form codes */ #define FORM_N 1 /* non-print */ #define FORM_T 2 /* telnet format effectors */ #define FORM_C 3 /* carriage control (ASA) */ #ifdef FTP_NAMES char *formnames[] = {"0", "Nonprint", "Telnet", "Carriage-control" }; #endif /* * Structure codes */ #define STRU_F 1 /* file (no record structure) */ #define STRU_R 2 /* record structure */ #define STRU_P 3 /* page structure */ #ifdef FTP_NAMES char *strunames[] = {"0", "File", "Record", "Page" }; #endif /* * Mode types */ #define MODE_S 1 /* stream */ #define MODE_B 2 /* block */ #define MODE_C 3 /* compressed */ #ifdef FTP_NAMES char *modenames[] = {"0", "Stream", "Block", "Compressed" }; #endif /* * Record Tokens */ #define REC_ESC '\377' /* Record-mode Escape */ #define REC_EOR '\001' /* Record-mode End-of-Record */ #define REC_EOF '\002' /* Record-mode End-of-File */ /* * Block Header */ #define BLK_EOR 0x80 /* Block is End-of-Record */ #define BLK_EOF 0x40 /* Block is End-of-File */ #define BLK_ERRORS 0x20 /* Block is suspected of containing errors */ #define BLK_RESTART 0x10 /* Block is Restart Marker */ #define BLK_BYTECOUNT 2 /* Bytes in this block */ #endif /* !_ARPA_FTP_H */ ./usr/include/arpa/inet.h100644 1676 334 3362 5263127427 13351 0ustar hjlisl/* * Copyright (c) 1983 Regents of the University of California. * All rights reserved. * * Redistribution and use in source and binary forms are permitted * provided that: (1) source distributions retain this entire copyright * notice and comment, and (2) distributions including binaries display * the following acknowledgement: ``This product includes software * developed by the University of California, Berkeley and its contributors'' * in the documentation or other materials provided with the distribution * and in all advertising materials mentioning features or use of this * software. 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 ``AS IS'' AND WITHOUT ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. * * @(#)inet.h 5.4 (Berkeley) 6/1/90 */ /* External definitions for functions in inet(3) */ #ifndef _ARPA_INET_H #define _ARPA_INET_H #include #ifdef __STDC__ #ifdef __cplusplus extern "C" { #endif extern unsigned long inet_addr(const char *); extern char *inet_ntoa(struct in_addr); extern struct in_addr inet_makeaddr(int , int); extern unsigned long inet_network(const char *); extern unsigned long inet_lnaof(struct in_addr); extern unsigned long inet_netof(struct in_addr); #ifdef __cplusplus } #endif #else extern unsigned long inet_addr(); extern char *inet_ntoa(); extern struct in_addr inet_makeaddr(); extern unsigned long inet_network(); extern unsigned long inet_lnaof(); extern unsigned long inet_netof(); #endif #endif /* _ARPA_INET_H */ ./usr/include/arpa/nameser.h100644 1676 334 17172 5430315006 14054 0ustar hjlisl/* * Copyright (c) 1983, 1989 Regents of the University of California. * All rights reserved. * * Redistribution and use in source and binary forms are permitted * provided that: (1) source distributions retain this entire copyright * notice and comment, and (2) distributions including binaries display * the following acknowledgement: ``This product includes software * developed by the University of California, Berkeley and its contributors'' * in the documentation or other materials provided with the distribution * and in all advertising materials mentioning features or use of this * software. 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 ``AS IS'' AND WITHOUT ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. * * @(#)nameser.h 5.24 (Berkeley) 6/1/90 */ #ifndef _ARPA_NAMESER_H #define _ARPA_NAMESER_H #include #include /* * Define constants based on rfc883 */ #define PACKETSZ 512 /* maximum packet size */ #define MAXDNAME 256 /* maximum domain name */ #define MAXCDNAME 255 /* maximum compressed domain name */ #define MAXLABEL 63 /* maximum length of domain label */ /* Number of bytes of fixed size data in query structure */ #define QFIXEDSZ 4 /* number of bytes of fixed size data in resource record */ #define RRFIXEDSZ 10 /* * Internet nameserver port number */ #define NAMESERVER_PORT 53 /* * Currently defined opcodes */ #define QUERY 0x0 /* standard query */ #define IQUERY 0x1 /* inverse query */ #define STATUS 0x2 /* nameserver status query */ #if 0 #define xxx 0x3 /* 0x3 reserved */ #endif /* non standard */ #define UPDATEA 0x9 /* add resource record */ #define UPDATED 0xa /* delete a specific resource record */ #define UPDATEDA 0xb /* delete all nemed resource record */ #define UPDATEM 0xc /* modify a specific resource record */ #define UPDATEMA 0xd /* modify all named resource record */ #define ZONEINIT 0xe /* initial zone transfer */ #define ZONEREF 0xf /* incremental zone referesh */ /* * Currently defined response codes */ #define NOERROR 0 /* no error */ #define FORMERR 1 /* format error */ #define SERVFAIL 2 /* server failure */ #define NXDOMAIN 3 /* non existent domain */ #define NOTIMP 4 /* not implemented */ #define REFUSED 5 /* query refused */ /* non standard */ #define NOCHANGE 0xf /* update failed to change db */ /* * Type values for resources and queries */ #define T_A 1 /* host address */ #define T_NS 2 /* authoritative server */ #define T_MD 3 /* mail destination */ #define T_MF 4 /* mail forwarder */ #define T_CNAME 5 /* connonical name */ #define T_SOA 6 /* start of authority zone */ #define T_MB 7 /* mailbox domain name */ #define T_MG 8 /* mail group member */ #define T_MR 9 /* mail rename name */ #define T_NULL 10 /* null resource record */ #define T_WKS 11 /* well known service */ #define T_PTR 12 /* domain name pointer */ #define T_HINFO 13 /* host information */ #define T_MINFO 14 /* mailbox information */ #define T_MX 15 /* mail routing information */ #define T_TXT 16 /* text strings */ /* non standard */ #define T_UINFO 100 /* user (finger) information */ #define T_UID 101 /* user ID */ #define T_GID 102 /* group ID */ #define T_UNSPEC 103 /* Unspecified format (binary data) */ /* Query type values which do not appear in resource records */ #define T_AXFR 252 /* transfer zone of authority */ #define T_MAILB 253 /* transfer mailbox records */ #define T_MAILA 254 /* transfer mail agent records */ #define T_ANY 255 /* wildcard match */ /* * Values for class field */ #define C_IN 1 /* the arpa internet */ #define C_CHAOS 3 /* for chaos net at MIT */ #define C_HS 4 /* for Hesiod name server at MIT */ /* Query class values which do not appear in resource records */ #define C_ANY 255 /* wildcard match */ /* * Status return codes for T_UNSPEC conversion routines */ #define CONV_SUCCESS 0 #define CONV_OVERFLOW -1 #define CONV_BADFMT -2 #define CONV_BADCKSUM -3 #define CONV_BADBUFLEN -4 #ifndef BYTE_ORDER #define LITTLE_ENDIAN 1234 /* least-significant byte first (vax) */ #define BIG_ENDIAN 4321 /* most-significant byte first (IBM, net) */ #define PDP_ENDIAN 3412 /* LSB first in word, MSW first in long (pdp) */ #if defined(__vax__) || defined(__ns32000__) || defined(__sun386__) || defined(MIPSEL) || \ defined(__i386__) || defined(BIT_ZERO_ON_RIGHT) #define BYTE_ORDER LITTLE_ENDIAN #endif #if defined(sel) || defined(__pyr__) || defined(__mc68000__) || defined(__sparc__) || \ defined(__is68k__) || defined(tahoe) || defined(ibm032) || defined(ibm370) || \ defined(MIPSEB) || defined (BIT_ZERO_ON_LEFT) #define BYTE_ORDER BIG_ENDIAN #endif #endif /* BYTE_ORDER */ #ifndef BYTE_ORDER /* you must determine what the correct bit order is for your compiler */ UNDEFINED_BIT_ORDER; #endif /* * Structure for query header, the order of the fields is machine and * compiler dependent, in our case, the bits within a byte are assignd * least significant first, while the order of transmition is most * significant first. This requires a somewhat confusing rearrangement. */ typedef struct { u_short id; /* query identification number */ #if BYTE_ORDER == BIG_ENDIAN /* fields in third byte */ u_char qr:1; /* response flag */ u_char opcode:4; /* purpose of message */ u_char aa:1; /* authoritive answer */ u_char tc:1; /* truncated message */ u_char rd:1; /* recursion desired */ /* fields in fourth byte */ u_char ra:1; /* recursion available */ u_char pr:1; /* primary server required (non standard) */ u_char unused:2; /* unused bits */ u_char rcode:4; /* response code */ #endif #if BYTE_ORDER == LITTLE_ENDIAN || BYTE_ORDER == PDP_ENDIAN /* fields in third byte */ u_char rd:1; /* recursion desired */ u_char tc:1; /* truncated message */ u_char aa:1; /* authoritive answer */ u_char opcode:4; /* purpose of message */ u_char qr:1; /* response flag */ /* fields in fourth byte */ u_char rcode:4; /* response code */ u_char unused:2; /* unused bits */ u_char pr:1; /* primary server required (non standard) */ u_char ra:1; /* recursion available */ #endif /* remaining bytes */ u_short qdcount; /* number of question entries */ u_short ancount; /* number of answer entries */ u_short nscount; /* number of authority entries */ u_short arcount; /* number of resource entries */ } HEADER; /* * Defines for handling compressed domain names */ #define INDIR_MASK 0xc0 /* * Structure for passing resource records around. */ struct rrec { short r_zone; /* zone number */ short r_class; /* class number */ short r_type; /* type number */ u_long r_ttl; /* time to live */ int r_size; /* size of data area */ char *r_data; /* pointer to data */ }; extern u_short _getshort(); extern u_long _getlong(); /* * Inline versions of get/put short/long. * Pointer is advanced; we assume that both arguments * are lvalues and will already be in registers. * cp MUST be u_char *. */ #define GETSHORT(s, cp) { \ (s) = *(cp)++ << 8; \ (s) |= *(cp)++; \ } #define GETLONG(l, cp) { \ (l) = *(cp)++ << 8; \ (l) |= *(cp)++; (l) <<= 8; \ (l) |= *(cp)++; (l) <<= 8; \ (l) |= *(cp)++; \ } #define PUTSHORT(s, cp) { \ *(cp)++ = (s) >> 8; \ *(cp)++ = (s); \ } /* * Warning: PUTLONG destroys its first argument. */ #define PUTLONG(l, cp) { \ (cp)[3] = l; \ (cp)[2] = (l >>= 8); \ (cp)[1] = (l >>= 8); \ (cp)[0] = l >> 8; \ (cp) += sizeof(u_long); \ } #endif /* _ARPA_NAMESER_H */ ./usr/include/arpa/telnet.h100644 1676 334 22014 5521070056 13710 0ustar hjlisl/* * Copyright (c) 1983 Regents of the University of California. * All rights reserved. * * Redistribution and use in source and binary forms are permitted provided * that: (1) source distributions retain this entire copyright notice and * comment, and (2) distributions including binaries display the following * acknowledgement: ``This product includes software developed by the * University of California, Berkeley and its contributors'' in the * documentation or other materials provided with the distribution and in * all advertising materials mentioning features or use of this software. * 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 ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. * * @(#)telnet.h 5.12 (Berkeley) 3/5/91 */ #ifndef _ARPA_TELNET_H #define _ARPA_TELNET_H /* * Definitions for the TELNET protocol. */ #define IAC 255 /* interpret as command: */ #define DONT 254 /* you are not to use option */ #define DO 253 /* please, you use option */ #define WONT 252 /* I won't use option */ #define WILL 251 /* I will use option */ #define SB 250 /* interpret as subnegotiation */ #define GA 249 /* you may reverse the line */ #define EL 248 /* erase the current line */ #define EC 247 /* erase the current character */ #define AYT 246 /* are you there */ #define AO 245 /* abort output--but let prog finish */ #define IP 244 /* interrupt process--permanently */ #define BREAK 243 /* break */ #define DM 242 /* data mark--for connect. cleaning */ #define NOP 241 /* nop */ #define SE 240 /* end sub negotiation */ #define EOR 239 /* end of record (transparent mode) */ #define ABORT 238 /* Abort process */ #define SUSP 237 /* Suspend process */ #define xEOF 236 /* End of file: EOF is already used... */ #define SYNCH 242 /* for telfunc calls */ #ifdef TELCMDS char *telcmds[] = { "EOF", "SUSP", "ABORT", "EOR", "SE", "NOP", "DMARK", "BRK", "IP", "AO", "AYT", "EC", "EL", "GA", "SB", "WILL", "WONT", "DO", "DONT", "IAC", 0, }; #else extern char *telcmds[]; #endif #define TELCMD_FIRST xEOF #define TELCMD_LAST IAC #define TELCMD_OK(x) ((x) <= TELCMD_LAST && (x) >= TELCMD_FIRST) #define TELCMD(x) telcmds[(x)-TELCMD_FIRST] /* telnet options */ #define TELOPT_BINARY 0 /* 8-bit data path */ #define TELOPT_ECHO 1 /* echo */ #define TELOPT_RCP 2 /* prepare to reconnect */ #define TELOPT_SGA 3 /* suppress go ahead */ #define TELOPT_NAMS 4 /* approximate message size */ #define TELOPT_STATUS 5 /* give status */ #define TELOPT_TM 6 /* timing mark */ #define TELOPT_RCTE 7 /* remote controlled transmission and echo */ #define TELOPT_NAOL 8 /* negotiate about output line width */ #define TELOPT_NAOP 9 /* negotiate about output page size */ #define TELOPT_NAOCRD 10 /* negotiate about CR disposition */ #define TELOPT_NAOHTS 11 /* negotiate about horizontal tabstops */ #define TELOPT_NAOHTD 12 /* negotiate about horizontal tab disposition */ #define TELOPT_NAOFFD 13 /* negotiate about formfeed disposition */ #define TELOPT_NAOVTS 14 /* negotiate about vertical tab stops */ #define TELOPT_NAOVTD 15 /* negotiate about vertical tab disposition */ #define TELOPT_NAOLFD 16 /* negotiate about output LF disposition */ #define TELOPT_XASCII 17 /* extended ascic character set */ #define TELOPT_LOGOUT 18 /* force logout */ #define TELOPT_BM 19 /* byte macro */ #define TELOPT_DET 20 /* data entry terminal */ #define TELOPT_SUPDUP 21 /* supdup protocol */ #define TELOPT_SUPDUPOUTPUT 22 /* supdup output */ #define TELOPT_SNDLOC 23 /* send location */ #define TELOPT_TTYPE 24 /* terminal type */ #define TELOPT_EOR 25 /* end or record */ #define TELOPT_TUID 26 /* TACACS user identification */ #define TELOPT_OUTMRK 27 /* output marking */ #define TELOPT_TTYLOC 28 /* terminal location number */ #define TELOPT_3270REGIME 29 /* 3270 regime */ #define TELOPT_X3PAD 30 /* X.3 PAD */ #define TELOPT_NAWS 31 /* window size */ #define TELOPT_TSPEED 32 /* terminal speed */ #define TELOPT_LFLOW 33 /* remote flow control */ #define TELOPT_LINEMODE 34 /* Linemode option */ #define TELOPT_XDISPLOC 35 /* X Display Location */ #define TELOPT_ENVIRON 36 /* Environment variables */ #define TELOPT_AUTHENTICATION 37/* Authenticate */ #define TELOPT_ENCRYPT 38 /* Encryption option */ #define TELOPT_EXOPL 255 /* extended-options-list */ #define NTELOPTS (1+TELOPT_ENCRYPT) #ifdef TELOPTS char *telopts[NTELOPTS+1] = { "BINARY", "ECHO", "RCP", "SUPPRESS GO AHEAD", "NAME", "STATUS", "TIMING MARK", "RCTE", "NAOL", "NAOP", "NAOCRD", "NAOHTS", "NAOHTD", "NAOFFD", "NAOVTS", "NAOVTD", "NAOLFD", "EXTEND ASCII", "LOGOUT", "BYTE MACRO", "DATA ENTRY TERMINAL", "SUPDUP", "SUPDUP OUTPUT", "SEND LOCATION", "TERMINAL TYPE", "END OF RECORD", "TACACS UID", "OUTPUT MARKING", "TTYLOC", "3270 REGIME", "X.3 PAD", "NAWS", "TSPEED", "LFLOW", "LINEMODE", "XDISPLOC", "ENVIRON", "AUTHENTICATION", "ENCRYPT", 0, }; #define TELOPT_FIRST TELOPT_BINARY #define TELOPT_LAST TELOPT_ENCRYPT #define TELOPT_OK(x) ((x) <= TELOPT_LAST && (x) >= TELOPT_FIRST) #define TELOPT(x) telopts[(x)-TELOPT_FIRST] #endif /* sub-option qualifiers */ #define TELQUAL_IS 0 /* option is... */ #define TELQUAL_SEND 1 /* send option */ #define TELQUAL_INFO 2 /* ENVIRON: informational version of IS */ #define TELQUAL_REPLY 2 /* AUTHENTICATION: client version of IS */ #define TELQUAL_NAME 3 /* AUTHENTICATION: client version of IS */ /* * LINEMODE suboptions */ #define LM_MODE 1 #define LM_FORWARDMASK 2 #define LM_SLC 3 #define MODE_EDIT 0x01 #define MODE_TRAPSIG 0x02 #define MODE_ACK 0x04 #define MODE_SOFT_TAB 0x08 #define MODE_LIT_ECHO 0x10 #define MODE_MASK 0x1f /* Not part of protocol, but needed to simplify things... */ #define MODE_FLOW 0x0100 #define MODE_ECHO 0x0200 #define MODE_INBIN 0x0400 #define MODE_OUTBIN 0x0800 #define MODE_FORCE 0x1000 #define SLC_SYNCH 1 #define SLC_BRK 2 #define SLC_IP 3 #define SLC_AO 4 #define SLC_AYT 5 #define SLC_EOR 6 #define SLC_ABORT 7 #define SLC_EOF 8 #define SLC_SUSP 9 #define SLC_EC 10 #define SLC_EL 11 #define SLC_EW 12 #define SLC_RP 13 #define SLC_LNEXT 14 #define SLC_XON 15 #define SLC_XOFF 16 #define SLC_FORW1 17 #define SLC_FORW2 18 #define NSLC 18 /* * For backwards compatability, we define SLC_NAMES to be the * list of names if SLC_NAMES is not defined. */ #define SLC_NAMELIST "0", "SYNCH", "BRK", "IP", "AO", "AYT", "EOR", \ "ABORT", "EOF", "SUSP", "EC", "EL", "EW", "RP", \ "LNEXT", "XON", "XOFF", "FORW1", "FORW2", 0, #ifdef SLC_NAMES char *slc_names[] = { SLC_NAMELIST }; #else extern char *slc_names[]; #define SLC_NAMES SLC_NAMELIST #endif #define SLC_NAME_OK(x) ((x) >= 0 && (x) < NSLC) #define SLC_NAME(x) slc_names[x] #define SLC_NOSUPPORT 0 #define SLC_CANTCHANGE 1 #define SLC_VARIABLE 2 #define SLC_DEFAULT 3 #define SLC_LEVELBITS 0x03 #define SLC_FUNC 0 #define SLC_FLAGS 1 #define SLC_VALUE 2 #define SLC_ACK 0x80 #define SLC_FLUSHIN 0x40 #define SLC_FLUSHOUT 0x20 #define ENV_VALUE 0 #define ENV_VAR 1 #define ENV_ESC 2 /* * AUTHENTICATION suboptions */ /* * Who is authenticating who ... */ #define AUTH_WHO_CLIENT 0 /* Client authenticating server */ #define AUTH_WHO_SERVER 1 /* Server authenticating client */ #define AUTH_WHO_MASK 1 /* * amount of authentication done */ #define AUTH_HOW_ONE_WAY 0 #define AUTH_HOW_MUTUAL 2 #define AUTH_HOW_MASK 2 #define AUTHTYPE_NULL 0 #define AUTHTYPE_KERBEROS_V4 1 #define AUTHTYPE_KERBEROS_V5 2 #define AUTHTYPE_SPX 3 #define AUTHTYPE_MINK 4 #define AUTHTYPE_CNT 5 #define AUTHTYPE_TEST 99 #ifdef AUTH_NAMES char *authtype_names[] = { "NULL", "KERBEROS_V4", "KERBEROS_V5", "SPX", "MINK", 0, }; #else extern char *authtype_names[]; #endif #define AUTHTYPE_NAME_OK(x) ((x) >= 0 && (x) < AUTHTYPE_CNT) #define AUTHTYPE_NAME(x) authtype_names[x] /* * ENCRYPTion suboptions */ #define ENCRYPT_IS 0 /* I pick encryption type ... */ #define ENCRYPT_SUPPORT 1 /* I support encryption types ... */ #define ENCRYPT_REPLY 2 /* Initial setup response */ #define ENCRYPT_START 3 /* Am starting to send encrypted */ #define ENCRYPT_END 4 /* Am ending encrypted */ #define ENCRYPT_REQSTART 5 /* Request you start encrypting */ #define ENCRYPT_REQEND 6 /* Request you send encrypting */ #define ENCRYPT_ENC_KEYID 7 #define ENCRYPT_DEC_KEYID 8 #define ENCRYPT_CNT 9 #define ENCTYPE_ANY 0 #define ENCTYPE_DES_CFB64 1 #define ENCTYPE_DES_OFB64 2 #define ENCTYPE_CNT 3 #ifdef ENCRYPT_NAMES char *encrypt_names[] = { "IS", "SUPPORT", "REPLY", "START", "END", "REQUEST-START", "REQUEST-END", "ENC-KEYID", "DEC-KEYID", 0, }; char *enctype_names[] = { "ANY", "DES_CFB64", "DES_OFB64", 0, }; #else extern char *encrypt_names[]; extern char *enctype_names[]; #endif #define ENCRYPT_NAME_OK(x) ((x) >= 0 && (x) < ENCRYPT_CNT) #define ENCRYPT_NAME(x) encrypt_names[x] #define ENCTYPE_NAME_OK(x) ((x) >= 0 && (x) < ENCTYPE_CNT) #define ENCTYPE_NAME(x) enctype_names[x] #endif /* _ARPA_TELNET_H */ ./usr/include/arpa/tftp.h100644 1676 334 3665 5263127432 13371 0ustar hjlisl/* * Copyright (c) 1983 Regents of the University of California. * All rights reserved. * * Redistribution and use in source and binary forms are permitted * provided that the above copyright notice and this paragraph are * duplicated in all such forms and that any documentation, * advertising materials, and other materials related to such * distribution and use acknowledge that the software was developed * by the University of California, Berkeley. The name of the * University 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 WITHOUT ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * * @(#)tftp.h 5.2 (Berkeley) 6/27/88 */ #ifndef _ARPA_TFTP_H #define _ARPA_TFTP_H /* * Trivial File Transfer Protocol (IEN-133) */ #define SEGSIZE 512 /* data segment size */ /* * Packet types. */ #define RRQ 01 /* read request */ #define WRQ 02 /* write request */ #define DATA 03 /* data packet */ #define ACK 04 /* acknowledgement */ #define ERROR 05 /* error code */ struct tftphdr { short th_opcode; /* packet type */ union { short tu_block; /* block # */ short tu_code; /* error code */ char tu_stuff[1]; /* request packet stuff */ } th_u; char th_data[1]; /* data or error string */ }; #define th_block th_u.tu_block #define th_code th_u.tu_code #define th_stuff th_u.tu_stuff #define th_msg th_data /* * Error codes. */ #define EUNDEF 0 /* not defined */ #define ENOTFOUND 1 /* file not found */ #define EACCESS 2 /* access violation */ #define ENOSPACE 3 /* disk full or allocation exceeded */ #define EBADOP 4 /* illegal TFTP operation */ #define EBADID 5 /* unknown transfer ID */ #define EEXISTS 6 /* file already exists */ #define ENOUSER 7 /* no such user */ #endif /* _ARPA_TFTP_H */ ./usr/include/gnu/ 40755 1676 334 0 5522022363 11775 5ustar hjlisl./usr/include/gnu/types.h100644 1676 334 10412 5346431067 13436 0ustar hjlisl/* Copyright (C) 1991, 1992 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the, 1992 Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef _GNU_TYPES_H #define _GNU_TYPES_H 1 /* Convenience types. */ typedef unsigned char __u_char; typedef unsigned short __u_short; typedef unsigned int __u_int; typedef unsigned long __u_long; typedef struct { long val[2]; } __quad; typedef struct { __u_long val[2]; } __u_quad; #ifdef __linux__ typedef unsigned short __dev_t; /* Type of device numbers. */ typedef unsigned short __gid_t; /* Type of group identifications. */ typedef unsigned short __uid_t; /* Type of user identifications. */ typedef unsigned short __mode_t;/* Type of file attribute bitmasks. */ typedef long __daddr_t; /* The type of a disk address. */ typedef long __off_t; /* Type of file sizes and offsets. */ typedef unsigned long __ino_t; /* Type of file serial numbers. */ typedef unsigned short __nlink_t; /* Type of file link counts. */ typedef long __time_t; #else typedef int __dev_t; /* Type of device numbers. */ typedef unsigned int __gid_t; /* Type of group identifications. */ typedef unsigned int __uid_t; /* Type of user identifications. */ typedef unsigned int __mode_t; /* Type of file attribute bitmasks. */ typedef long int __daddr_t; /* The type of a disk address. */ typedef long int __off_t; /* Type of file sizes and offsets. */ typedef unsigned long int __ino_t; /* Type of file serial numbers. */ typedef unsigned short int __nlink_t; /* Type of file link counts. */ typedef long int __time_t; #endif typedef int __pid_t; /* Type of process identifications. */ typedef int __ssize_t; /* Type of a byte count, or error. */ typedef __quad __fsid_t; /* Type of file system IDs. */ /* Everythin' else. */ typedef char *__caddr_t; typedef long int __swblk_t; /* Type of a swap block maybe? */ /* fd_set for select. */ #ifdef __linux__ #ifndef __FDSET_LONGS #define __FDSET_LONGS 8 #endif typedef struct __fd_set { unsigned long fds_bits [__FDSET_LONGS]; } __fd_set; #ifndef __NFDBITS #define __NFDBITS (sizeof(unsigned long int) * 8) #define __FD_SETSIZE (__FDSET_LONGS*__NFDBITS) #define __FD_SET(fd,fdsetp) \ __asm__ __volatile__ ("btsl %1,%0": \ "=m" (*(__fd_set *) (fdsetp)):"r" ((int) (fd))) #define __FD_CLR(fd,fdsetp) \ __asm__ __volatile__("btrl %1,%0": \ "=m" (*(__fd_set *) (fdsetp)):"r" ((int) (fd))) #define __FD_ISSET(fd,fdsetp) __extension__ ({ \ unsigned char __result; \ __asm__ __volatile__("btl %1,%2 ; setb %0" \ :"=q" (__result) :"r" ((int) (fd)), \ "m" (*(__fd_set *) (fdsetp))); \ __result; }) #define __FD_ZERO(fdsetp) \ __asm__ __volatile__("cld ; rep ; stosl" \ :"=m" (*(__fd_set *) (fdsetp)) \ :"a" (0), "c" (__FDSET_LONGS), \ "D" ((__fd_set *) (fdsetp)) :"cx","di") #endif /* __NFDBITS */ #else /* __linux__ */ /* Number of descriptors that can fit in an `fd_set'. */ #define __FD_SETSIZE 256 /* It's easier to assume 8-bit bytes than to get CHAR_BIT. */ #define __NFDBITS (sizeof(unsigned long int) * 8) #define __FDELT(d) ((d) / __NFDBITS) #define __FDMASK(d) (1 << ((d) % __NFDBITS)) typedef struct { unsigned long int fds_bits [(__FD_SETSIZE + (__NFDBITS - 1)) / __NFDBITS]; } __fd_set; /* This line MUST be split! Otherwise m4 will not change it. */ #define __FD_ZERO(set) \ ((void) memset((__ptr_t) (set), 0, sizeof(fd_set))) #define __FD_SET(d, set) ((set)->__bits[__FDELT(d)] |= __FDMASK(d)) #define __FD_CLR(d, set) ((set)->__bits[__FDELT(d)] &= ~__FDMASK(d)) #define __FD_ISSET(d, set) ((set)->__bits[__FDELT(d)] & __FDMASK(d)) #endif /* __linux__ */ #endif /* gnu/types.h */ ./usr/include/nan.h100644 1676 334 5271 5433224001 12225 0ustar hjlisl/* `NAN' constant for IEEE 754 machines. Copyright (C) 1992 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef _NAN_H #define _NAN_H 1 /* IEEE Not A Number. */ #include #if __BYTE_ORDER == __BIG_ENDIAN #define __nan_bytes { 0x7f, 0xf8, 0, 0, 0, 0, 0, 0 } #endif #if __BYTE_ORDER == __LITTLE_ENDIAN #define __nan_bytes { 0, 0, 0, 0, 0, 0, 0xf8, 0x7f } #endif #ifdef __i386__ /* Signal double NaN. */ #define __snan_bytes { 0, 0, 0x0f, 0, 0, 0, 0xf0, 0x7f } /* Quiet double NaN, It is also indefinite(?). */ #define __qnan_bytes { 0, 0, 0, 0, 0, 0, 0xf8, 0x7f } /* Signal float NaN. */ #define __snanf_bytes { 0, 0x0f, 0x80, 0x7f } /* Quiet float NaN. It is also indefinite(?). */ #define __qnanf_bytes { 0, 0, 0xc0, 0x7f } #endif #ifdef __GNUC__ #define NAN \ (__extension__ ((union { unsigned char __c[8]; \ double __d; }) \ { __nan_bytes }).__d) #ifdef __i386__ #define _SNAN \ (__extension__ ((union { unsigned char __c[8]; \ double __d; }) \ { __snan_bytes }).__d) #define _QNAN \ (__extension__ ((union { unsigned char __c[8]; \ double __d; }) \ { __qnan_bytes }).__d) #define _SNANF \ (__extension__ ((union { unsigned char __c[4]; \ float __f; }) \ { __snanf_bytes }).__f) #define _QNANF \ (__extension__ ((union { unsigned char __c[4]; \ float __f; }) \ { __qnanf_bytes }).__f) #endif #else /* Not GCC. */ static __const char __nan[8] = __nan_bytes; #define NAN (*(__const double *) __nan) #ifdef __i386__ static __const char __snan[8] = __snan_bytes; #define _SNAN (*(__const double *) __snan) static __const char __qnan[8] = __qnan_bytes; #define _QNAN (*(__const double *) __qnan) static __const char __snanf[4] = __snanf_bytes; #define _SNANF (*(__const float *) __snanf) static __const char __qnanf[4] = __qnanf_bytes; #define _QNANF (*(__const float *) __qnanf) #endif #endif /* GCC. */ #endif /* nan.h */ ./usr/include/net/ 40755 1676 334 0 5522022364 11773 5ustar hjlisl./usr/include/net/if.h100644 1676 334 26 5346352613 12604 0ustar hjlisl#include ./usr/include/net/if_arp.h100644 1676 334 32 5346352613 13443 0ustar hjlisl#include ./usr/include/net/if_route.h100644 1676 334 34 5346352613 14021 0ustar hjlisl#include ./usr/include/netinet/ 40755 1676 334 0 5546044361 12662 5ustar hjlisl./usr/include/netinet/in.h100644 1676 334 5147 5401505662 13541 0ustar hjlisl/* Copyright (C) 1991 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with the GNU C Library; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef _NETINET_IN_H #define _NETINET_IN_H 1 #include #include __BEGIN_DECLS /* Standard well-known ports. */ enum { IPPORT_ECHO = 7, /* Echo service. */ IPPORT_DISCARD = 9, /* Discard transmissions service. */ IPPORT_SYSTAT = 11, /* System status service. */ IPPORT_DAYTIME = 13, /* Time of day service. */ IPPORT_NETSTAT = 15, /* Network status service. */ IPPORT_FTP = 21, /* File Transfer Protocol. */ IPPORT_TELNET = 23, /* Telnet protocol. */ IPPORT_SMTP = 25, /* Simple Mail Transfer Protocol. */ IPPORT_TIMESERVER = 37, /* Timeserver service. */ IPPORT_NAMESERVER = 42, /* Domain Name Service. */ IPPROT_WHOIS = 43, /* Internet Whois service. */ IPPORT_MTP = 57, IPPORT_TFTP = 69, /* Trivial File Transfer Protocol. */ IPPORT_RJE = 77, IPPORT_FINGER = 79, /* Finger service. */ IPPORT_TTYLINK = 87, IPPORT_SUPDUP = 95, /* SUPDUP protocol. */ IPPORT_EXECSERVER = 512, /* execd service. */ IPPORT_LOGINSERVER = 513, /* rlogind service. */ IPPORT_CMDSERVER = 514, IPPORT_EFSSERVER = 520, /* UDP ports. */ IPPORT_BIFFUDP = 512, IPPORT_WHOSERVER = 513, IPPORT_ROUTESERVER = 520, /* Ports less than this value are reserved for privileged processes. */ IPPORT_RESERVED = 1024, /* Ports greater this value are reserved for (non-privileged) servers. */ IPPORT_USERRESERVED = 5000 }; /* Link numbers. */ #define IMPLINK_IP 155 #define IMPLINK_LOWEXPER 156 #define IMPLINK_HIGHEXPER 158 /* * Many other definitions have been moved to , * because several parts of the kernel need them. -FvK */ #include /* * Bind a socket to a privileged IP port */ extern int bindresvport __P ((int __sockfd, struct sockaddr_in * __sin)); __END_DECLS #endif /* netinet/in.h */ ./usr/include/netinet/protocols.h100644 1676 334 2460 5263127436 15157 0ustar hjlisl/* protocols.h */ #ifndef _NETINET_PROTOCOLS_H #define _NETINET_PROTOCOLS_H #define IP_ICMP 1 #define IP_IGMP 2 #define IP_GGP 3 #define IP_ST 5 #define IP_TCP 6 #define IP_UCL 7 #define IP_EGP 8 #define IP_IGP 9 #define IP_BBN_RCC_MON 10 #define IP_NVP-II 11 #define IP_PUP 12 #define IP_ARGUS 13 #define IP_EMCON 14 #define IP_XNET 15 #define IP_CHAOS 16 #define IP_UDP 17 #define IP_MUX 18 #define IP_DCN_MEAS 19 #define IP_HMP 20 #define IP_PRM 21 #define IP_XNS_IDP 22 #define IP_TRUNK1 23 #define IP_TRUNK2 24 #define IP_LEAF1 25 #define IP_LEAF2 26 #define IP_RDP 27 #define IP_IRTP 28 #define IP_ISO_TP4 29 #define IP_NETBLT 30 #define IP_MFE_NSP 31 #define IP_MERIT_INP 32 #define IP_SEP 33 #define IP_3PC 34 #define IP_CFTP 62 #define SAT_EXPAK 64 #define IP_RVD 66 #define IP_IPPC 67 #define IP_SAT_MON 69 #define IP_VISA 70 #define IP_IPCV 71 #define IP_BR_SAT_MON 76 #define IP_SUN_ND 77 #define IP_WB_MON 78 #define IP_WB_EXPAK 79 #define IP_ISO_IP 80 #define IP_VMTP 81 #define IP_SECURE_VMTP 82 #define IP_VINES 83 #define IP_TTP 84 #define NSFNET_IGP 85 #define IP_DGP 86 #define IP_TCF 87 #define IP_IGRP 88 #define IP_OSPFIGP 89 #define IP_SPRITE_RPG 90 #define IP_LARP 91 #endif /* _NETINET_PROTOCOLS_H*/ ./usr/include/netinet/tcp.h120777 0 1 0 5522022364 15762 2ip_tcp.hustar rootdaemon./usr/include/netinet/ip.h100644 1676 334 26 5424650440 13472 0ustar hjlisl#include ./usr/include/netinet/ip_icmp.h100644 1676 334 30 5521070056 14472 0ustar hjlisl#include ./usr/include/netinet/ip_tcp.h100644 1676 334 3746 5537505105 14416 0ustar hjlisl/* * Copyright (c) 1982, 1986 Regents of the University of California. * All rights reserved. * * Redistribution and use in source and binary forms are permitted * provided that the above copyright notice and this paragraph are * duplicated in all such forms and that any documentation, * advertising materials, and other materials related to such * distribution and use acknowledge that the software was developed * by the University of California, Berkeley. The name of the * University 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 WITHOUT ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * * @(#)tcp.h 7.5 (Berkeley) 6/29/88 */ #ifndef _NETINET_IP_TCP_H #define _NETINET_IP_TCP_H #include #include typedef u_long tcp_seq; /* * TCP header. * Per RFC 793, September, 1981. */ struct tcphdr { u_short th_sport; /* source port */ u_short th_dport; /* destination port */ tcp_seq th_seq; /* sequence number */ tcp_seq th_ack; /* acknowledgement number */ #if __BYTE_ORDER == __LITTLE_ENDIAN u_char th_x2:4, /* (unused) */ th_off:4; /* data offset */ #endif #if __BYTE_ORDER == __BIG_ENDIAN u_char th_off:4, /* data offset */ th_x2:4; /* (unused) */ #endif u_char th_flags; #define TH_FIN 0x01 #define TH_SYN 0x02 #define TH_RST 0x04 #define TH_PUSH 0x08 #define TH_ACK 0x10 #define TH_URG 0x20 u_short th_win; /* window */ u_short th_sum; /* checksum */ u_short th_urp; /* urgent pointer */ }; #define TCPOPT_EOL 0 #define TCPOPT_NOP 1 #define TCPOPT_MAXSEG 2 /* * Default maximum segment size for TCP. * With an IP MSS of 576, this is 536, * but 512 is probably more convenient. */ #ifdef lint #define TCP_MSS 536 #else #define TCP_MSS MIN(512, IP_MSS - sizeof (struct tcpiphdr)) #endif #endif /* _NETINET_TCP_H */ ./usr/include/netinet/ip_udp.h100644 1676 334 27 5521070056 14340 0ustar hjlisl#include ./usr/include/netinet/udp.h120777 0 1 0 5522022364 15766 2ip_udp.hustar rootdaemon./usr/include/netinet/in_systm.h100644 1676 334 34 5424650256 14733 0ustar hjlisl#include ./usr/include/protocols/ 40755 1676 334 0 5522022365 13232 5ustar hjlisl./usr/include/protocols/talkd.h100644 1676 334 11427 5350031001 14606 0ustar hjlisl/* * 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. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the University of * California, Berkeley and its contributors. * 4. 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 _PROTOCOLS_TALKD_H #define _PROTOCOLS_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. */ /* * Client->server request message format. */ typedef struct { u_char vers; /* protocol version */ u_char type; /* request type, see below */ u_char answer; /* not used */ u_char pad; u_long id_num; /* message id */ struct osockaddr addr; /* old (4.3) style */ struct osockaddr ctl_addr; /* old (4.3) style */ long 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 { u_char vers; /* protocol version */ u_char type; /* type of request message, see below */ u_char answer; /* respose to request message, see below */ u_char pad; u_long 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 /* !_PROTOCOLS_TALKD_H */ ./usr/include/protocols/timed.h100644 1676 334 5743 5263127441 14616 0ustar hjlisl/* * Copyright (c) 1983 Regents of the University of California. * All rights reserved. * * Redistribution and use in source and binary forms are permitted * provided that the above copyright notice and this paragraph are * duplicated in all such forms and that any documentation, * advertising materials, and other materials related to such * distribution and use acknowledge that the software was developed * by the University of California, Berkeley. The name of the * University 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 WITHOUT ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * * @(#)timed.h 1.8 (Berkeley) 6/27/88 */ #ifndef _PROTOCOLS_TIMED_H #define _PROTOCOLS_TIMED_H #include /* * Time Synchronization Protocol */ #define TSPVERSION 1 #define ANYADDR NULL struct tsp { u_char tsp_type; u_char tsp_vers; u_short tsp_seq; union { struct timeval tspu_time; char tspu_hopcnt; } tsp_u; char tsp_name[MAXHOSTNAMELEN]; }; #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 /* _PROTOCOLS_TIMED_H */ ./usr/include/rpc/ 40755 1676 334 0 5522022365 11772 5ustar hjlisl./usr/include/rpc/auth.h100644 1676 334 12024 5476405040 13223 0ustar hjlisl/* @(#)auth.h 2.3 88/08/07 4.0 RPCSRC; from 1.17 88/02/08 SMI */ /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for * unrestricted use provided that this legend is included on all tape * media and as a part of the software program in whole or part. Users * may copy or modify Sun RPC without charge, but are not authorized * to license or distribute it to anyone else except as part of a product or * program developed by the user. * * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. * * Sun RPC is provided with no support and without any obligation on the * part of Sun Microsystems, Inc. to assist in its use, correction, * modification or enhancement. * * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC * OR ANY PART THEREOF. * * In no event will Sun Microsystems, Inc. be liable for any lost revenue * or profits or other special, indirect and consequential damages, even if * Sun has been advised of the possibility of such damages. * * Sun Microsystems, Inc. * 2550 Garcia Avenue * Mountain View, California 94043 */ /* * auth.h, Authentication interface. * * Copyright (C) 1984, Sun Microsystems, Inc. * * The data structures are completely opaque to the client. The client * is required to pass a AUTH * to routines that create rpc * "sessions". */ #ifndef _RPC_AUTH_H #define _RPC_AUTH_H #include #define MAX_AUTH_BYTES 400 #define MAXNETNAMELEN 255 /* maximum length of network user's name */ __BEGIN_DECLS /* * Status returned from authentication check */ enum auth_stat { AUTH_OK=0, /* * failed at remote end */ AUTH_BADCRED=1, /* bogus credentials (seal broken) */ AUTH_REJECTEDCRED=2, /* client should begin new session */ AUTH_BADVERF=3, /* bogus verifier (seal broken) */ AUTH_REJECTEDVERF=4, /* verifier expired or was replayed */ AUTH_TOOWEAK=5, /* rejected due to security reasons */ /* * failed locally */ AUTH_INVALIDRESP=6, /* bogus response verifier */ AUTH_FAILED=7 /* some unknown reason */ }; #if (__mc68000__ || __sparc__ || __vax__ || __i386__) typedef u_long u_int32; /* 32-bit unsigned integers */ #endif union des_block { struct { u_int32 high; u_int32 low; } key; char c[8]; }; typedef union des_block des_block; extern bool_t xdr_des_block(); /* * Authentication info. Opaque to client. */ struct opaque_auth { enum_t oa_flavor; /* flavor of auth */ caddr_t oa_base; /* address of more auth stuff */ u_int oa_length; /* not to exceed MAX_AUTH_BYTES */ }; /* * Auth handle, interface to client side authenticators. */ typedef struct { struct opaque_auth ah_cred; struct opaque_auth ah_verf; union des_block ah_key; struct auth_ops { void (*ah_nextverf)(); int (*ah_marshal)(); /* nextverf & serialize */ int (*ah_validate)(); /* validate varifier */ int (*ah_refresh)(); /* refresh credentials */ void (*ah_destroy)(); /* destroy this structure */ } *ah_ops; caddr_t ah_private; } AUTH; /* * Authentication ops. * The ops and the auth handle provide the interface to the authenticators. * * AUTH *auth; * XDR *xdrs; * struct opaque_auth verf; */ #define AUTH_NEXTVERF(auth) \ ((*((auth)->ah_ops->ah_nextverf))(auth)) #define auth_nextverf(auth) \ ((*((auth)->ah_ops->ah_nextverf))(auth)) #define AUTH_MARSHALL(auth, xdrs) \ ((*((auth)->ah_ops->ah_marshal))(auth, xdrs)) #define auth_marshall(auth, xdrs) \ ((*((auth)->ah_ops->ah_marshal))(auth, xdrs)) #define AUTH_VALIDATE(auth, verfp) \ ((*((auth)->ah_ops->ah_validate))((auth), verfp)) #define auth_validate(auth, verfp) \ ((*((auth)->ah_ops->ah_validate))((auth), verfp)) #define AUTH_REFRESH(auth) \ ((*((auth)->ah_ops->ah_refresh))(auth)) #define auth_refresh(auth) \ ((*((auth)->ah_ops->ah_refresh))(auth)) #define AUTH_DESTROY(auth) \ ((*((auth)->ah_ops->ah_destroy))(auth)) #define auth_destroy(auth) \ ((*((auth)->ah_ops->ah_destroy))(auth)) extern struct opaque_auth _null_auth; /* * These are the various implementations of client side authenticators. */ /* * Unix style authentication * AUTH *authunix_create(machname, uid, gid, len, aup_gids) * char *machname; * int uid; * int gid; * int len; * int *aup_gids; */ extern AUTH *authunix_create __P((char * __machine, uid_t __uid, gid_t __gid, int __len, gid_t * __aup_gids)); extern AUTH *authunix_create_default __P((void)); /* takes no parameters */ extern AUTH *authnone_create __P((void)); /* takes no parameters */ extern AUTH *authdes_create __P((char * __machine, uid_t __uid, gid_t __gid, int __len, gid_t * __aup_gids)); __END_DECLS #define AUTH_NONE 0 /* no authentication */ #define AUTH_NULL 0 /* backward compatibility */ #define AUTH_UNIX 1 /* unix style (uid, gids) */ #define AUTH_SHORT 2 /* short hand unix style */ #define AUTH_DES 3 /* des style (encrypted timestamps) */ #endif /* _PRC_AUTH_H */ ./usr/include/rpc/auth_unix.h100644 1676 334 5035 5370010732 14243 0ustar hjlisl/* @(#)auth_unix.h 2.2 88/07/29 4.0 RPCSRC; from 1.8 88/02/08 SMI */ /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for * unrestricted use provided that this legend is included on all tape * media and as a part of the software program in whole or part. Users * may copy or modify Sun RPC without charge, but are not authorized * to license or distribute it to anyone else except as part of a product or * program developed by the user. * * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. * * Sun RPC is provided with no support and without any obligation on the * part of Sun Microsystems, Inc. to assist in its use, correction, * modification or enhancement. * * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC * OR ANY PART THEREOF. * * In no event will Sun Microsystems, Inc. be liable for any lost revenue * or profits or other special, indirect and consequential damages, even if * Sun has been advised of the possibility of such damages. * * Sun Microsystems, Inc. * 2550 Garcia Avenue * Mountain View, California 94043 */ /* @(#)auth_unix.h 1.5 86/07/16 SMI */ #ifndef _RPC_AUTH_UNIX_H #define _RPC_AUTH_UNIX_H #include /* * auth_unix.h, Protocol for UNIX style authentication parameters for RPC * * Copyright (C) 1984, Sun Microsystems, Inc. */ /* * The system is very weak. The client uses no encryption for it * credentials and only sends null verifiers. The server sends backs * null verifiers or optionally a verifier that suggests a new short hand * for the credentials. */ /* The machine name is part of a credential; it may not exceed 255 bytes */ #define MAX_MACHINE_NAME 255 /* gids compose part of a credential; there may not be more than 16 of them */ #define NGRPS 16 __BEGIN_DECLS /* * Unix style credentials. */ struct authunix_parms { u_long aup_time; char *aup_machname; uid_t aup_uid; gid_t aup_gid; u_int aup_len; gid_t *aup_gids; }; extern bool_t xdr_authunix_parms __P ((XDR *, struct authunix_parms *)); /* * If a response verifier has flavor AUTH_SHORT, * then the body of the response verifier encapsulates the following structure; * again it is serialized in the obvious fashion. */ struct short_hand_verf { struct opaque_auth new_cred; }; __END_DECLS #endif /* _RPC_AUTH_UNIX_H */ ./usr/include/rpc/clnt.h100644 1676 334 22414 5345726744 13242 0ustar hjlisl/* @(#)clnt.h 2.1 88/07/29 4.0 RPCSRC; from 1.31 88/02/08 SMI*/ /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for * unrestricted use provided that this legend is included on all tape * media and as a part of the software program in whole or part. Users * may copy or modify Sun RPC without charge, but are not authorized * to license or distribute it to anyone else except as part of a product or * program developed by the user. * * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. * * Sun RPC is provided with no support and without any obligation on the * part of Sun Microsystems, Inc. to assist in its use, correction, * modification or enhancement. * * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC * OR ANY PART THEREOF. * * In no event will Sun Microsystems, Inc. be liable for any lost revenue * or profits or other special, indirect and consequential damages, even if * Sun has been advised of the possibility of such damages. * * Sun Microsystems, Inc. * 2550 Garcia Avenue * Mountain View, California 94043 */ /* * clnt.h - Client side remote procedure call interface. * * Copyright (C) 1984, Sun Microsystems, Inc. */ #ifndef _RPC_CLNT_H #define _RPC_CLNT_H #include __BEGIN_DECLS /* * Rpc calls return an enum clnt_stat. This should be looked at more, * since each implementation is required to live with this (implementation * independent) list of errors. */ enum clnt_stat { RPC_SUCCESS=0, /* call succeeded */ /* * local errors */ RPC_CANTENCODEARGS=1, /* can't encode arguments */ RPC_CANTDECODERES=2, /* can't decode results */ RPC_CANTSEND=3, /* failure in sending call */ RPC_CANTRECV=4, /* failure in receiving result */ RPC_TIMEDOUT=5, /* call timed out */ /* * remote errors */ RPC_VERSMISMATCH=6, /* rpc versions not compatible */ RPC_AUTHERROR=7, /* authentication error */ RPC_PROGUNAVAIL=8, /* program not available */ RPC_PROGVERSMISMATCH=9, /* program version mismatched */ RPC_PROCUNAVAIL=10, /* procedure unavailable */ RPC_CANTDECODEARGS=11, /* decode arguments error */ RPC_SYSTEMERROR=12, /* generic "other problem" */ /* * callrpc & clnt_create errors */ RPC_UNKNOWNHOST=13, /* unknown host name */ RPC_UNKNOWNPROTO=17, /* unkown protocol */ /* * _ create errors */ RPC_PMAPFAILURE=14, /* the pmapper failed in its call */ RPC_PROGNOTREGISTERED=15, /* remote program is not registered */ /* * unspecified error */ RPC_FAILED=16 }; /* * Error info. */ struct rpc_err { enum clnt_stat re_status; union { int RE_errno; /* realated system error */ enum auth_stat RE_why; /* why the auth error occurred */ struct { u_long low; /* lowest verion supported */ u_long high; /* highest verion supported */ } RE_vers; struct { /* maybe meaningful if RPC_FAILED */ long s1; long s2; } RE_lb; /* life boot & debugging only */ } ru; #define re_errno ru.RE_errno #define re_why ru.RE_why #define re_vers ru.RE_vers #define re_lb ru.RE_lb }; /* * Client rpc handle. * Created by individual implementations, see e.g. rpc_udp.c. * Client is responsible for initializing auth, see e.g. auth_none.c. */ typedef struct { AUTH *cl_auth; /* authenticator */ struct clnt_ops { enum clnt_stat (*cl_call)(); /* call remote procedure */ void (*cl_abort)(); /* abort a call */ void (*cl_geterr)(); /* get specific error code */ bool_t (*cl_freeres)(); /* frees results */ void (*cl_destroy)();/* destroy this structure */ bool_t (*cl_control)();/* the ioctl() of rpc */ } *cl_ops; caddr_t cl_private; /* private stuff */ } CLIENT; /* * client side rpc interface ops * * Parameter types are: * */ /* * enum clnt_stat * CLNT_CALL(rh, proc, xargs, argsp, xres, resp, timeout) * CLIENT *rh; * u_long proc; * xdrproc_t xargs; * caddr_t argsp; * xdrproc_t xres; * caddr_t resp; * struct timeval timeout; */ #define CLNT_CALL(rh, proc, xargs, argsp, xres, resp, secs) \ ((*(rh)->cl_ops->cl_call)(rh, proc, xargs, argsp, xres, resp, secs)) #define clnt_call(rh, proc, xargs, argsp, xres, resp, secs) \ ((*(rh)->cl_ops->cl_call)(rh, proc, xargs, argsp, xres, resp, secs)) /* * void * CLNT_ABORT(rh); * CLIENT *rh; */ #define CLNT_ABORT(rh) ((*(rh)->cl_ops->cl_abort)(rh)) #define clnt_abort(rh) ((*(rh)->cl_ops->cl_abort)(rh)) /* * struct rpc_err * CLNT_GETERR(rh); * CLIENT *rh; */ #define CLNT_GETERR(rh,errp) ((*(rh)->cl_ops->cl_geterr)(rh, errp)) #define clnt_geterr(rh,errp) ((*(rh)->cl_ops->cl_geterr)(rh, errp)) /* * bool_t * CLNT_FREERES(rh, xres, resp); * CLIENT *rh; * xdrproc_t xres; * caddr_t resp; */ #define CLNT_FREERES(rh,xres,resp) ((*(rh)->cl_ops->cl_freeres)(rh,xres,resp)) #define clnt_freeres(rh,xres,resp) ((*(rh)->cl_ops->cl_freeres)(rh,xres,resp)) /* * bool_t * CLNT_CONTROL(cl, request, info) * CLIENT *cl; * u_int request; * char *info; */ #define CLNT_CONTROL(cl,rq,in) ((*(cl)->cl_ops->cl_control)(cl,rq,in)) #define clnt_control(cl,rq,in) ((*(cl)->cl_ops->cl_control)(cl,rq,in)) /* * control operations that apply to both udp and tcp transports */ #define CLSET_TIMEOUT 1 /* set timeout (timeval) */ #define CLGET_TIMEOUT 2 /* get timeout (timeval) */ #define CLGET_SERVER_ADDR 3 /* get server's address (sockaddr) */ /* * udp only control operations */ #define CLSET_RETRY_TIMEOUT 4 /* set retry timeout (timeval) */ #define CLGET_RETRY_TIMEOUT 5 /* get retry timeout (timeval) */ /* * void * CLNT_DESTROY(rh); * CLIENT *rh; */ #define CLNT_DESTROY(rh) ((*(rh)->cl_ops->cl_destroy)(rh)) #define clnt_destroy(rh) ((*(rh)->cl_ops->cl_destroy)(rh)) /* * RPCTEST is a test program which is accessable on every rpc * transport/port. It is used for testing, performance evaluation, * and network administration. */ #define RPCTEST_PROGRAM ((u_long)1) #define RPCTEST_VERSION ((u_long)1) #define RPCTEST_NULL_PROC ((u_long)2) #define RPCTEST_NULL_BATCH_PROC ((u_long)3) /* * By convention, procedure 0 takes null arguments and returns them */ #define NULLPROC ((u_long)0) /* * Below are the client handle creation routines for the various * implementations of client side rpc. They can return NULL if a * creation failure occurs. */ /* * Memory based rpc (for speed check and testing) * CLIENT * * clntraw_create(prog, vers) * u_long prog; * u_long vers; */ extern CLIENT *clntraw_create __P ((u_long __prog, u_long __vers)); /* * Generic client creation routine. Supported protocols are "udp" and "tcp" */ extern CLIENT * clnt_create __P ((char *__host, u_long __prog, u_long __vers, char *__prot)); /* * TCP based rpc * CLIENT * * clnttcp_create(raddr, prog, vers, sockp, sendsz, recvsz) * struct sockaddr_in *raddr; * u_long prog; * u_long version; * register int *sockp; * u_int sendsz; * u_int recvsz; */ struct sockaddr_in; extern CLIENT *clnttcp_create __P ((struct sockaddr_in *__raddr, u_long __prog, u_long __version, int *__sockp, u_int __sendsz, u_int __recvsz)); /* * UDP based rpc. * CLIENT * * clntudp_create(raddr, program, version, wait, sockp) * struct sockaddr_in *raddr; * u_long program; * u_long version; * struct timeval wait; * int *sockp; * * Same as above, but you specify max packet sizes. * CLIENT * * clntudp_bufcreate(raddr, program, version, wait, sockp, sendsz, recvsz) * struct sockaddr_in *raddr; * u_long program; * u_long version; * struct timeval wait; * int *sockp; * u_int sendsz; * u_int recvsz; */ extern CLIENT *clntudp_create __P ((struct sockaddr_in *__raddr, u_long __prog, u_long __version, struct timeval __wait, int *__sockp)); extern CLIENT *clntudp_bufcreate __P ((struct sockaddr_in *__raddr, u_long __prog, u_long __version, struct timeval __wait, int *__sockp, u_int __sendsz, u_int __recvsz)); extern int callrpc __P ((char *__host, u_long __prognum, u_long __versnum, u_long __procnum, xdrproc_t __inproc, char *__in, xdrproc_t __outproc, char *__out)); extern int _rpc_dtablesize __P ((void)); /* * Print why creation failed */ extern void clnt_pcreateerror __P ((char *__msg)); /* stderr */ extern char *clnt_spcreateerror __P ((char *__msg)); /* string */ /* * Like clnt_perror(), but is more verbose in its output */ extern void clnt_perrno __P ((enum clnt_stat __num)); /* stderr */ /* * Print an English error message, given the client error code */ extern void clnt_perror __P ((CLIENT *__clnt, char *__msg)); /* stderr */ extern char *clnt_sperror __P ((CLIENT *__clnt, char *__msg)); /* string */ /* * If a creation fails, the following allows the user to figure out why. */ struct rpc_createerr { enum clnt_stat cf_stat; struct rpc_err cf_error; /* useful when cf_stat == RPC_PMAPFAILURE */ }; extern struct rpc_createerr rpc_createerr; /* * Copy error message to buffer. */ extern char *clnt_sperrno __P ((enum clnt_stat __num)); /* string */ extern int getrpcport __P ((char * __host, u_long __prognum, u_long __versnum, u_int proto)); __END_DECLS #define UDPMSGSIZE 8800 /* rpc imposed limit on udp msg size */ #define RPCSMALLMSGSIZE 400 /* a more reasonable packet size */ #endif /* _RPC_CLNT_H */ ./usr/include/rpc/pmap_clnt.h100644 1676 334 6476 5303100107 14216 0ustar hjlisl/* @(#)pmap_clnt.h 2.1 88/07/29 4.0 RPCSRC; from 1.11 88/02/08 SMI */ /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for * unrestricted use provided that this legend is included on all tape * media and as a part of the software program in whole or part. Users * may copy or modify Sun RPC without charge, but are not authorized * to license or distribute it to anyone else except as part of a product or * program developed by the user. * * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. * * Sun RPC is provided with no support and without any obligation on the * part of Sun Microsystems, Inc. to assist in its use, correction, * modification or enhancement. * * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC * OR ANY PART THEREOF. * * In no event will Sun Microsystems, Inc. be liable for any lost revenue * or profits or other special, indirect and consequential damages, even if * Sun has been advised of the possibility of such damages. * * Sun Microsystems, Inc. * 2550 Garcia Avenue * Mountain View, California 94043 */ #ifndef _RPC_PMAP_CLNT_H #define _RPC_PMAP_CLNT_H #include __BEGIN_DECLS /* * pmap_clnt.h * Supplies C routines to get to portmap services. * * Copyright (C) 1984, Sun Microsystems, Inc. */ /* * Usage: * success = pmap_set(program, version, protocol, port); * success = pmap_unset(program, version); * port = pmap_getport(address, program, version, protocol); * head = pmap_getmaps(address); * clnt_stat = pmap_rmtcall(address, program, version, procedure, * xdrargs, argsp, xdrres, resp, tout, port_ptr) * (works for udp only.) * clnt_stat = clnt_broadcast(program, version, procedure, * xdrargs, argsp, xdrres, resp, eachresult) * (like pmap_rmtcall, except the call is broadcasted to all * locally connected nets. For each valid response received, * the procedure eachresult is called. Its form is: * done = eachresult(resp, raddr) * bool_t done; * caddr_t resp; * struct sockaddr_in raddr; * where resp points to the results of the call and raddr is the * address if the responder to the broadcast. */ typedef bool_t (*resultproc_t) __P ((void *, void *)); extern bool_t pmap_set __P ((u_long __prog, u_long __version, u_long __protocol, u_short __port)); extern bool_t pmap_unset __P ((u_long __prog, u_long __version)); extern struct pmaplist *pmap_getmaps __P ((struct sockaddr_in *__address)); enum clnt_stat pmap_rmtcall __P ((struct sockaddr_in *__address, u_long __prog, u_long __version, u_long __proc, xdrproc_t __xdrargs, caddr_t __argsp, xdrproc_t __xdrres, caddr_t __resp, struct timeval __tout, u_long *__port_ptr)); enum clnt_stat clnt_broadcast __P ((u_long __prog, u_long __vers, u_long __proc, xdrproc_t __xargs, caddr_t __argsp, xdrproc_t __xresults, caddr_t __resultsp, resultproc_t __eachresult)); extern u_short pmap_getport __P ((struct sockaddr_in *__address, u_long __prog, u_long __version, u_int __protocol)); extern void get_myaddress __P ((struct sockaddr_in *__address)); __END_DECLS #endif /* _RPC_PMAP_CLNT_H */ ./usr/include/rpc/pmap_prot.h100644 1676 334 6761 5270400070 14244 0ustar hjlisl/* @(#)pmap_prot.h 2.1 88/07/29 4.0 RPCSRC; from 1.14 88/02/08 SMI */ /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for * unrestricted use provided that this legend is included on all tape * media and as a part of the software program in whole or part. Users * may copy or modify Sun RPC without charge, but are not authorized * to license or distribute it to anyone else except as part of a product or * program developed by the user. * * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. * * Sun RPC is provided with no support and without any obligation on the * part of Sun Microsystems, Inc. to assist in its use, correction, * modification or enhancement. * * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC * OR ANY PART THEREOF. * * In no event will Sun Microsystems, Inc. be liable for any lost revenue * or profits or other special, indirect and consequential damages, even if * Sun has been advised of the possibility of such damages. * * Sun Microsystems, Inc. * 2550 Garcia Avenue * Mountain View, California 94043 */ #ifndef _RPC_PMAP_PROT_H #define _RPC_PMAP_PROT_H #include /* * pmap_prot.h * Protocol for the local binder service, or pmap. * * Copyright (C) 1984, Sun Microsystems, Inc. * * The following procedures are supported by the protocol: * * PMAPPROC_NULL() returns () * takes nothing, returns nothing * * PMAPPROC_SET(struct pmap) returns (bool_t) * TRUE is success, FALSE is failure. Registers the tuple * [prog, vers, prot, port]. * * PMAPPROC_UNSET(struct pmap) returns (bool_t) * TRUE is success, FALSE is failure. Un-registers pair * [prog, vers]. prot and port are ignored. * * PMAPPROC_GETPORT(struct pmap) returns (long unsigned). * 0 is failure. Otherwise returns the port number where the pair * [prog, vers] is registered. It may lie! * * PMAPPROC_DUMP() RETURNS (struct pmaplist *) * * PMAPPROC_CALLIT(unsigned, unsigned, unsigned, string<>) * RETURNS (port, string<>); * usage: encapsulatedresults = PMAPPROC_CALLIT(prog, vers, proc, encapsulatedargs); * Calls the procedure on the local machine. If it is not registered, * this procedure is quite; ie it does not return error information!!! * This procedure only is supported on rpc/udp and calls via * rpc/udp. This routine only passes null authentication parameters. * This file has no interface to xdr routines for PMAPPROC_CALLIT. * * The service supports remote procedure calls on udp/ip or tcp/ip socket 111. */ #define PMAPPORT ((u_short)111) #define PMAPPROG ((u_long)100000) #define PMAPVERS ((u_long)2) #define PMAPVERS_PROTO ((u_long)2) #define PMAPVERS_ORIG ((u_long)1) #define PMAPPROC_NULL ((u_long)0) #define PMAPPROC_SET ((u_long)1) #define PMAPPROC_UNSET ((u_long)2) #define PMAPPROC_GETPORT ((u_long)3) #define PMAPPROC_DUMP ((u_long)4) #define PMAPPROC_CALLIT ((u_long)5) #include __BEGIN_DECLS struct pmap { long unsigned pm_prog; long unsigned pm_vers; long unsigned pm_prot; long unsigned pm_port; }; extern bool_t xdr_pmap __P((XDR * _xdrs, struct pmap * __regs)); struct pmaplist { struct pmap pml_map; struct pmaplist *pml_next; }; extern bool_t xdr_pmaplist __P((XDR * _xdrs, struct pmaplist ** __rp)); __END_DECLS #endif /* _RPC_PMAP_PROT_H */ ./usr/include/rpc/pmap_rmt.h100644 1676 334 3721 5270610365 14065 0ustar hjlisl/* @(#)pmap_rmt.h 2.1 88/07/29 4.0 RPCSRC; from 1.2 88/02/08 SMI */ /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for * unrestricted use provided that this legend is included on all tape * media and as a part of the software program in whole or part. Users * may copy or modify Sun RPC without charge, but are not authorized * to license or distribute it to anyone else except as part of a product or * program developed by the user. * * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. * * Sun RPC is provided with no support and without any obligation on the * part of Sun Microsystems, Inc. to assist in its use, correction, * modification or enhancement. * * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC * OR ANY PART THEREOF. * * In no event will Sun Microsystems, Inc. be liable for any lost revenue * or profits or other special, indirect and consequential damages, even if * Sun has been advised of the possibility of such damages. * * Sun Microsystems, Inc. * 2550 Garcia Avenue * Mountain View, California 94043 */ #ifndef _RPC_PMAP_RMT_H #define _RPC_PMAP_RMT_H #include __BEGIN_DECLS /* * Structures and XDR routines for parameters to and replies from * the portmapper remote-call-service. * * Copyright (C) 1986, Sun Microsystems, Inc. */ struct rmtcallargs { u_long prog, vers, proc, arglen; caddr_t args_ptr; xdrproc_t xdr_args; }; extern bool_t xdr_rmtcall_args __P ((XDR *__xdrs, struct rmtcallargs * __cap)); struct rmtcallres { u_long *port_ptr; u_long resultslen; caddr_t results_ptr; xdrproc_t xdr_results; }; extern bool_t xdr_rmtcallres __P ((XDR *__xdrs, struct rmtcallres * __crp)); __END_DECLS #endif /* _RPC_PMAP_RMT_H */ ./usr/include/rpc/rpc.h100644 1676 334 5436 5345562756 13054 0ustar hjlisl/* @(#)rpc.h 2.3 88/08/10 4.0 RPCSRC; from 1.9 88/02/08 SMI */ /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for * unrestricted use provided that this legend is included on all tape * media and as a part of the software program in whole or part. Users * may copy or modify Sun RPC without charge, but are not authorized * to license or distribute it to anyone else except as part of a product or * program developed by the user. * * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. * * Sun RPC is provided with no support and without any obligation on the * part of Sun Microsystems, Inc. to assist in its use, correction, * modification or enhancement. * * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC * OR ANY PART THEREOF. * * In no event will Sun Microsystems, Inc. be liable for any lost revenue * or profits or other special, indirect and consequential damages, even if * Sun has been advised of the possibility of such damages. * * Sun Microsystems, Inc. * 2550 Garcia Avenue * Mountain View, California 94043 */ /* * rpc.h, Just includes the billions of rpc header files necessary to * do remote procedure calling. * * Copyright (C) 1984, Sun Microsystems, Inc. */ #ifndef _RPC_RPC_H #define _RPC_RPC_H #ifdef __linux__ #include #endif #include /* some typedefs */ #include /* external data representation interfaces */ #include /* generic (de)serializer */ /* Client side only authentication */ #include /* generic authenticator (client side) */ /* Client side (mostly) remote procedure call */ #include /* generic rpc stuff */ /* semi-private protocol headers */ #include /* protocol for rpc messages */ #include /* protocol for unix style cred */ /* * Uncomment-out the next line if you are building the rpc library with * DES Authentication (see the README file in the secure_rpc/ directory). */ #if 0 #include /* protocol for des style cred */ #endif /* Server side only remote procedure callee */ #include /* service manager and multiplexer */ #include /* service side authenticator */ /* * COMMENT OUT THE NEXT INCLUDE IF RUNNING ON SUN OS OR ON A VERSION * OF UNIX BASED ON NFSSRC. These systems will already have the structures * defined by included in . */ /* routines for parsing /etc/rpc */ #if 0 #include /* structures and routines to parse /etc/rpc */ #endif #endif /* _RPC_RPC_H */ ./usr/include/rpc/rpc_msg.h100644 1676 334 10607 5270611431 13714 0ustar hjlisl/* @(#)rpc_msg.h 2.1 88/07/29 4.0 RPCSRC */ /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for * unrestricted use provided that this legend is included on all tape * media and as a part of the software program in whole or part. Users * may copy or modify Sun RPC without charge, but are not authorized * to license or distribute it to anyone else except as part of a product or * program developed by the user. * * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. * * Sun RPC is provided with no support and without any obligation on the * part of Sun Microsystems, Inc. to assist in its use, correction, * modification or enhancement. * * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC * OR ANY PART THEREOF. * * In no event will Sun Microsystems, Inc. be liable for any lost revenue * or profits or other special, indirect and consequential damages, even if * Sun has been advised of the possibility of such damages. * * Sun Microsystems, Inc. * 2550 Garcia Avenue * Mountain View, California 94043 */ /* @(#)rpc_msg.h 1.7 86/07/16 SMI */ #ifndef _RPC_RPC_MSG_H #define _RPC_RPC_MSG_H #include __BEGIN_DECLS /* * rpc_msg.h * rpc message definition * * Copyright (C) 1984, Sun Microsystems, Inc. */ #define RPC_MSG_VERSION ((u_long) 2) #define RPC_SERVICE_PORT ((u_short) 2048) /* * Bottom up definition of an rpc message. * NOTE: call and reply use the same overall stuct but * different parts of unions within it. */ enum msg_type { CALL=0, REPLY=1 }; enum reply_stat { MSG_ACCEPTED=0, MSG_DENIED=1 }; enum accept_stat { SUCCESS=0, PROG_UNAVAIL=1, PROG_MISMATCH=2, PROC_UNAVAIL=3, GARBAGE_ARGS=4, SYSTEM_ERR=5 }; enum reject_stat { RPC_MISMATCH=0, AUTH_ERROR=1 }; /* * Reply part of an rpc exchange */ /* * Reply to an rpc request that was accepted by the server. * Note: there could be an error even though the request was * accepted. */ struct accepted_reply { struct opaque_auth ar_verf; enum accept_stat ar_stat; union { struct { u_long low; u_long high; } AR_versions; struct { caddr_t where; xdrproc_t proc; } AR_results; /* and many other null cases */ } ru; #define ar_results ru.AR_results #define ar_vers ru.AR_versions }; /* * Reply to an rpc request that was rejected by the server. */ struct rejected_reply { enum reject_stat rj_stat; union { struct { u_long low; u_long high; } RJ_versions; enum auth_stat RJ_why; /* why authentication did not work */ } ru; #define rj_vers ru.RJ_versions #define rj_why ru.RJ_why }; /* * Body of a reply to an rpc request. */ struct reply_body { enum reply_stat rp_stat; union { struct accepted_reply RP_ar; struct rejected_reply RP_dr; } ru; #define rp_acpt ru.RP_ar #define rp_rjct ru.RP_dr }; /* * Body of an rpc request call. */ struct call_body { u_long cb_rpcvers; /* must be equal to two */ u_long cb_prog; u_long cb_vers; u_long cb_proc; struct opaque_auth cb_cred; struct opaque_auth cb_verf; /* protocol specific - provided by client */ }; /* * The rpc message */ struct rpc_msg { u_long rm_xid; enum msg_type rm_direction; union { struct call_body RM_cmb; struct reply_body RM_rmb; } ru; #define rm_call ru.RM_cmb #define rm_reply ru.RM_rmb }; #define acpted_rply ru.RM_rmb.ru.RP_ar #define rjcted_rply ru.RM_rmb.ru.RP_dr /* * XDR routine to handle a rpc message. * xdr_callmsg(xdrs, cmsg) * XDR *xdrs; * struct rpc_msg *cmsg; */ extern bool_t xdr_callmsg __P ((XDR *__xdrs, struct rpc_msg *__cmsg)); /* * XDR routine to pre-serialize the static part of a rpc message. * xdr_callhdr(xdrs, cmsg) * XDR *xdrs; * struct rpc_msg *cmsg; */ extern bool_t xdr_callhdr __P ((XDR *__xdrs, struct rpc_msg *__cmsg)); /* * XDR routine to handle a rpc reply. * xdr_replymsg(xdrs, rmsg) * XDR *xdrs; * struct rpc_msg *rmsg; */ extern bool_t xdr_replymsg __P ((XDR *__xdrs, struct rpc_msg *__cmsg)); /* * Fills in the error part of a reply message. * _seterr_reply(msg, error) * struct rpc_msg *msg; * struct rpc_err *error; */ extern void _seterr_reply __P ((struct rpc_msg *__msg, struct rpc_err *__error)); __END_DECLS #endif /* _RPC_RPC_MSG_H */ ./usr/include/rpc/svc.h100644 1676 334 22440 5373565561 13073 0ustar hjlisl/* @(#)svc.h 2.2 88/07/29 4.0 RPCSRC; from 1.20 88/02/08 SMI */ /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for * unrestricted use provided that this legend is included on all tape * media and as a part of the software program in whole or part. Users * may copy or modify Sun RPC without charge, but are not authorized * to license or distribute it to anyone else except as part of a product or * program developed by the user. * * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. * * Sun RPC is provided with no support and without any obligation on the * part of Sun Microsystems, Inc. to assist in its use, correction, * modification or enhancement. * * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC * OR ANY PART THEREOF. * * In no event will Sun Microsystems, Inc. be liable for any lost revenue * or profits or other special, indirect and consequential damages, even if * Sun has been advised of the possibility of such damages. * * Sun Microsystems, Inc. * 2550 Garcia Avenue * Mountain View, California 94043 */ /* * svc.h, Server-side remote procedure call interface. * * Copyright (C) 1984, Sun Microsystems, Inc. */ #ifndef _RPC_SVC_H #define _RPC_SVC_H #include __BEGIN_DECLS /* * This interface must manage two items concerning remote procedure calling: * * 1) An arbitrary number of transport connections upon which rpc requests * are received. The two most notable transports are TCP and UDP; they are * created and registered by routines in svc_tcp.c and svc_udp.c, respectively; * they in turn call xprt_register and xprt_unregister. * * 2) An arbitrary number of locally registered services. Services are * described by the following four data: program number, version number, * "service dispatch" function, a transport handle, and a boolean that * indicates whether or not the exported program should be registered with a * local binder service; if true the program's number and version and the * port number from the transport handle are registered with the binder. * These data are registered with the rpc svc system via svc_register. * * A service's dispatch function is called whenever an rpc request comes in * on a transport. The request's program and version numbers must match * those of the registered service. The dispatch function is passed two * parameters, struct svc_req * and SVCXPRT *, defined below. */ enum xprt_stat { XPRT_DIED, XPRT_MOREREQS, XPRT_IDLE }; /* * Server side transport handle */ typedef struct { int xp_sock; u_short xp_port; /* associated port number */ struct xp_ops { bool_t (*xp_recv)(); /* receive incomming requests */ enum xprt_stat (*xp_stat)(); /* get transport status */ bool_t (*xp_getargs)(); /* get arguments */ bool_t (*xp_reply)(); /* send reply */ bool_t (*xp_freeargs)();/* free mem allocated for args */ void (*xp_destroy)(); /* destroy this struct */ } *xp_ops; int xp_addrlen; /* length of remote address */ struct sockaddr_in xp_raddr; /* remote address */ struct opaque_auth xp_verf; /* raw response verifier */ caddr_t xp_p1; /* private */ caddr_t xp_p2; /* private */ } SVCXPRT; /* * Approved way of getting address of caller */ #define svc_getcaller(x) (&(x)->xp_raddr) /* * Operations defined on an SVCXPRT handle * * SVCXPRT *xprt; * struct rpc_msg *msg; * xdrproc_t xargs; * caddr_t argsp; */ #define SVC_RECV(xprt, msg) \ (*(xprt)->xp_ops->xp_recv)((xprt), (msg)) #define svc_recv(xprt, msg) \ (*(xprt)->xp_ops->xp_recv)((xprt), (msg)) #define SVC_STAT(xprt) \ (*(xprt)->xp_ops->xp_stat)(xprt) #define svc_stat(xprt) \ (*(xprt)->xp_ops->xp_stat)(xprt) #define SVC_GETARGS(xprt, xargs, argsp) \ (*(xprt)->xp_ops->xp_getargs)((xprt), (xargs), (argsp)) #define svc_getargs(xprt, xargs, argsp) \ (*(xprt)->xp_ops->xp_getargs)((xprt), (xargs), (argsp)) #define SVC_REPLY(xprt, msg) \ (*(xprt)->xp_ops->xp_reply) ((xprt), (msg)) #define svc_reply(xprt, msg) \ (*(xprt)->xp_ops->xp_reply) ((xprt), (msg)) #define SVC_FREEARGS(xprt, xargs, argsp) \ (*(xprt)->xp_ops->xp_freeargs)((xprt), (xargs), (argsp)) #define svc_freeargs(xprt, xargs, argsp) \ (*(xprt)->xp_ops->xp_freeargs)((xprt), (xargs), (argsp)) #define SVC_DESTROY(xprt) \ (*(xprt)->xp_ops->xp_destroy)(xprt) #define svc_destroy(xprt) \ (*(xprt)->xp_ops->xp_destroy)(xprt) /* * Service request */ struct svc_req { u_long rq_prog; /* service program number */ u_long rq_vers; /* service protocol version */ u_long rq_proc; /* the desired procedure */ struct opaque_auth rq_cred; /* raw creds from the wire */ caddr_t rq_clntcred; /* read only cooked cred */ SVCXPRT *rq_xprt; /* associated transport */ }; /* * Service registration * * svc_register(xprt, prog, vers, dispatch, protocol) * SVCXPRT *xprt; * u_long prog; * u_long vers; * void (*dispatch)(); * u_long protocol; (like TCP or UDP, zero means do not register ) */ extern bool_t svc_register __P ((SVCXPRT *__xpr, u_long __prog, u_long __vers, void (*__dispatch)(), u_long __protocol)); /* * Service un-registration * * svc_unregister(prog, vers) * u_long prog; * u_long vers; */ extern void svc_unregister __P ((u_long __prog, u_long __vers)); /* * Transport registration. * * xprt_register(xprt) * SVCXPRT *xprt; */ extern void xprt_register __P ((SVCXPRT *__xprt)); /* * Transport un-register * * xprt_unregister(xprt) * SVCXPRT *xprt; */ extern void xprt_unregister __P ((SVCXPRT *__xprt)); /* * When the service routine is called, it must first check to see if it * knows about the procedure; if not, it should call svcerr_noproc * and return. If so, it should deserialize its arguments via * SVC_GETARGS (defined above). If the deserialization does not work, * svcerr_decode should be called followed by a return. Successful * decoding of the arguments should be followed the execution of the * procedure's code and a call to svc_sendreply. * * Also, if the service refuses to execute the procedure due to too- * weak authentication parameters, svcerr_weakauth should be called. * Note: do not confuse access-control failure with weak authentication! * * NB: In pure implementations of rpc, the caller always waits for a reply * msg. This message is sent when svc_sendreply is called. * Therefore pure service implementations should always call * svc_sendreply even if the function logically returns void; use * xdr.h - xdr_void for the xdr routine. HOWEVER, tcp based rpc allows * for the abuse of pure rpc via batched calling or pipelining. In the * case of a batched call, svc_sendreply should NOT be called since * this would send a return message, which is what batching tries to avoid. * It is the service/protocol writer's responsibility to know which calls are * batched and which are not. Warning: responding to batch calls may * deadlock the caller and server processes! */ extern bool_t svc_sendreply __P ((SVCXPRT *__xprt, xdrproc_t __xdr_results, caddr_t __xdr_location)); extern void svcerr_decode __P ((SVCXPRT *__xprt)); extern void svcerr_weakauth __P ((SVCXPRT *__xprt)); extern void svcerr_noproc __P ((SVCXPRT *__xprt)); extern void svcerr_progvers __P ((SVCXPRT *__xprt, u_long __low_vers, u_long __high_vers)); extern void svcerr_auth __P ((SVCXPRT *__xprt, enum auth_stat __why)); extern void svcerr_noprog __P ((SVCXPRT *__xprt)); extern void svcerr_systemerr __P ((SVCXPRT *__xprt)); /* * Lowest level dispatching -OR- who owns this process anyway. * Somebody has to wait for incoming requests and then call the correct * service routine. The routine svc_run does infinite waiting; i.e., * svc_run never returns. * Since another (co-existant) package may wish to selectively wait for * incoming calls or other events outside of the rpc architecture, the * routine svc_getreq is provided. It must be passed readfds, the * "in-place" results of a select system call (see select, section 2). */ /* * Global keeper of rpc service descriptors in use * dynamic; must be inspected before each call to select */ #ifdef FD_SETSIZE extern fd_set svc_fdset; #define svc_fds svc_fdset.fds_bits[0] /* compatibility */ #else extern int svc_fds; #endif /* def FD_SETSIZE */ /* * a small program implemented by the svc_rpc implementation itself; * also see clnt.h for protocol numbers. */ extern void rpctest_service(); extern void svc_getreq __P ((int __rdfds)); /* takes fdset instead of int */ extern void svc_getreqset __P ((fd_set *__readfds)); extern void svc_run __P((void)); /* never returns */ /* * Socket to use on svcxxx_create call to get default socket */ #define RPC_ANYSOCK -1 /* * These are the existing service side transport implementations */ /* * Memory based rpc for testing and timing. */ extern SVCXPRT *svcraw_create __P ((void)); /* * Udp based rpc. */ extern SVCXPRT *svcudp_create __P ((int __sock)); extern SVCXPRT *svcudp_bufcreate __P((int __sock, u_int sendsz, u_int __recvsz)); /* * Tcp based rpc. */ extern SVCXPRT *svctcp_create __P ((int __sock, u_int __sendsize, u_int __recvsize)); __END_DECLS #endif /* _RPC_SVC_H */ ./usr/include/rpc/svc_auth.h100644 1676 334 3332 5270375511 14061 0ustar hjlisl/* @(#)svc_auth.h 2.1 88/07/29 4.0 RPCSRC */ /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for * unrestricted use provided that this legend is included on all tape * media and as a part of the software program in whole or part. Users * may copy or modify Sun RPC without charge, but are not authorized * to license or distribute it to anyone else except as part of a product or * program developed by the user. * * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. * * Sun RPC is provided with no support and without any obligation on the * part of Sun Microsystems, Inc. to assist in its use, correction, * modification or enhancement. * * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC * OR ANY PART THEREOF. * * In no event will Sun Microsystems, Inc. be liable for any lost revenue * or profits or other special, indirect and consequential damages, even if * Sun has been advised of the possibility of such damages. * * Sun Microsystems, Inc. * 2550 Garcia Avenue * Mountain View, California 94043 */ #ifndef _RPC_SVC_AUTH_H #define _RPC_SVC_AUTH_H #include /* @(#)svc_auth.h 1.6 86/07/16 SMI */ /* * svc_auth.h, Service side of rpc authentication. * * Copyright (C) 1984, Sun Microsystems, Inc. */ /* * Server side authenticator */ extern enum auth_stat _authenticate __P((struct svc_req *__rqst, struct rpc_msg *__msg)); extern enum auth_stat _svcauth_null __P((void)); #endif /*_RPC_SVC_AUTH_H */ ./usr/include/rpc/types.h100644 1676 334 4175 5345562765 13433 0ustar hjlisl/* @(#)types.h 2.3 88/08/15 4.0 RPCSRC */ /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for * unrestricted use provided that this legend is included on all tape * media and as a part of the software program in whole or part. Users * may copy or modify Sun RPC without charge, but are not authorized * to license or distribute it to anyone else except as part of a product or * program developed by the user. * * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. * * Sun RPC is provided with no support and without any obligation on the * part of Sun Microsystems, Inc. to assist in its use, correction, * modification or enhancement. * * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC * OR ANY PART THEREOF. * * In no event will Sun Microsystems, Inc. be liable for any lost revenue * or profits or other special, indirect and consequential damages, even if * Sun has been advised of the possibility of such damages. * * Sun Microsystems, Inc. * 2550 Garcia Avenue * Mountain View, California 94043 */ /* @(#)types.h 1.18 87/07/24 SMI */ /* * Rpc additions to */ #ifndef _RPC_TYPES_H #define _RPC_TYPES_H #define bool_t int #define enum_t int #ifndef FALSE #define FALSE (0) #endif #ifndef TRUE #define TRUE (1) #endif #define __dontcare__ -1 #ifndef NULL # define NULL 0 #endif #ifdef __linux__ /* Linux doesn't care :-). */ #include #include #include #include #else extern char *malloc(); #endif #define mem_alloc(bsize) malloc(bsize) #define mem_free(ptr, bsize) free(ptr) #ifndef makedev /* ie, we haven't already included it */ #include #endif #include #ifndef linux #ifndef INADDR_LOOPBACK #define INADDR_LOOPBACK (u_long)0x7F000001 #endif #endif #ifndef MAXHOSTNAMELEN #define MAXHOSTNAMELEN 64 #endif #endif /* _RPC_TYPES_H */ ./usr/include/rpc/xdr.h100644 1676 334 25467 5303100107 13057 0ustar hjlisl/* @(#)xdr.h 2.2 88/07/29 4.0 RPCSRC */ /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for * unrestricted use provided that this legend is included on all tape * media and as a part of the software program in whole or part. Users * may copy or modify Sun RPC without charge, but are not authorized * to license or distribute it to anyone else except as part of a product or * program developed by the user. * * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. * * Sun RPC is provided with no support and without any obligation on the * part of Sun Microsystems, Inc. to assist in its use, correction, * modification or enhancement. * * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC * OR ANY PART THEREOF. * * In no event will Sun Microsystems, Inc. be liable for any lost revenue * or profits or other special, indirect and consequential damages, even if * Sun has been advised of the possibility of such damages. * * Sun Microsystems, Inc. * 2550 Garcia Avenue * Mountain View, California 94043 */ /* @(#)xdr.h 1.19 87/04/22 SMI */ /* * xdr.h, External Data Representation Serialization Routines. * * Copyright (C) 1984, Sun Microsystems, Inc. */ #ifndef _RPC_XDR_H #define _RPC_XDR_H #include #include __BEGIN_DECLS /* * XDR provides a conventional way for converting between C data * types and an external bit-string representation. Library supplied * routines provide for the conversion on built-in C data types. These * routines and utility routines defined here are used to help implement * a type encode/decode routine for each user-defined type. * * Each data type provides a single procedure which takes two arguments: * * bool_t * xdrproc(xdrs, argresp) * XDR *xdrs; * *argresp; * * xdrs is an instance of a XDR handle, to which or from which the data * type is to be converted. argresp is a pointer to the structure to be * converted. The XDR handle contains an operation field which indicates * which of the operations (ENCODE, DECODE * or FREE) is to be performed. * * XDR_DECODE may allocate space if the pointer argresp is null. This * data can be freed with the XDR_FREE operation. * * We write only one procedure per data type to make it easy * to keep the encode and decode procedures for a data type consistent. * In many cases the same code performs all operations on a user defined type, * because all the hard work is done in the component type routines. * decode as a series of calls on the nested data types. */ /* * Xdr operations. XDR_ENCODE causes the type to be encoded into the * stream. XDR_DECODE causes the type to be extracted from the stream. * XDR_FREE can be used to release the space allocated by an XDR_DECODE * request. */ enum xdr_op { XDR_ENCODE=0, XDR_DECODE=1, XDR_FREE=2 }; /* * This is the number of bytes per unit of external data. */ #define BYTES_PER_XDR_UNIT (4) #define RNDUP(x) ((((x) + BYTES_PER_XDR_UNIT - 1) / BYTES_PER_XDR_UNIT) \ * BYTES_PER_XDR_UNIT) /* * The XDR handle. * Contains operation which is being applied to the stream, * an operations vector for the paticular implementation (e.g. see xdr_mem.c), * and two private fields for the use of the particular impelementation. */ typedef struct { enum xdr_op x_op; /* operation; fast additional param */ struct xdr_ops { bool_t (*x_getlong)(); /* get a long from underlying stream */ bool_t (*x_putlong)(); /* put a long to " */ bool_t (*x_getbytes)();/* get some bytes from " */ bool_t (*x_putbytes)();/* put some bytes to " */ u_int (*x_getpostn)();/* returns bytes off from beginning */ bool_t (*x_setpostn)();/* lets you reposition the stream */ long * (*x_inline)(); /* buf quick ptr to buffered data */ void (*x_destroy)(); /* free privates of this xdr_stream */ } *x_ops; caddr_t x_public; /* users' data */ caddr_t x_private; /* pointer to private data */ caddr_t x_base; /* private used for position info */ int x_handy; /* extra private word */ } XDR; /* * A xdrproc_t exists for each data type which is to be encoded or decoded. * * The second argument to the xdrproc_t is a pointer to an opaque pointer. * The opaque pointer generally points to a structure of the data type * to be decoded. If this pointer is 0, then the type routines should * allocate dynamic storage of the appropriate size and return it. * bool_t (*xdrproc_t)(XDR *, caddr_t *); */ typedef bool_t (*xdrproc_t)(); /* * Operations defined on a XDR handle * * XDR *xdrs; * long *longp; * caddr_t addr; * u_int len; * u_int pos; */ #define XDR_GETLONG(xdrs, longp) \ (*(xdrs)->x_ops->x_getlong)(xdrs, longp) #define xdr_getlong(xdrs, longp) \ (*(xdrs)->x_ops->x_getlong)(xdrs, longp) #define XDR_PUTLONG(xdrs, longp) \ (*(xdrs)->x_ops->x_putlong)(xdrs, longp) #define xdr_putlong(xdrs, longp) \ (*(xdrs)->x_ops->x_putlong)(xdrs, longp) #define XDR_GETBYTES(xdrs, addr, len) \ (*(xdrs)->x_ops->x_getbytes)(xdrs, addr, len) #define xdr_getbytes(xdrs, addr, len) \ (*(xdrs)->x_ops->x_getbytes)(xdrs, addr, len) #define XDR_PUTBYTES(xdrs, addr, len) \ (*(xdrs)->x_ops->x_putbytes)(xdrs, addr, len) #define xdr_putbytes(xdrs, addr, len) \ (*(xdrs)->x_ops->x_putbytes)(xdrs, addr, len) #define XDR_GETPOS(xdrs) \ (*(xdrs)->x_ops->x_getpostn)(xdrs) #define xdr_getpos(xdrs) \ (*(xdrs)->x_ops->x_getpostn)(xdrs) #define XDR_SETPOS(xdrs, pos) \ (*(xdrs)->x_ops->x_setpostn)(xdrs, pos) #define xdr_setpos(xdrs, pos) \ (*(xdrs)->x_ops->x_setpostn)(xdrs, pos) #define XDR_INLINE(xdrs, len) \ (*(xdrs)->x_ops->x_inline)(xdrs, len) #define xdr_inline(xdrs, len) \ (*(xdrs)->x_ops->x_inline)(xdrs, len) #define XDR_DESTROY(xdrs) \ if ((xdrs)->x_ops->x_destroy) \ (*(xdrs)->x_ops->x_destroy)(xdrs) #define xdr_destroy(xdrs) \ if ((xdrs)->x_ops->x_destroy) \ (*(xdrs)->x_ops->x_destroy)(xdrs) /* * Support struct for discriminated unions. * You create an array of xdrdiscrim structures, terminated with * a entry with a null procedure pointer. The xdr_union routine gets * the discriminant value and then searches the array of structures * for a matching value. If a match is found the associated xdr routine * is called to handle that part of the union. If there is * no match, then a default routine may be called. * If there is no match and no default routine it is an error. */ #define NULL_xdrproc_t ((xdrproc_t)0) struct xdr_discrim { int value; xdrproc_t proc; }; /* * In-line routines for fast encode/decode of primitve data types. * Caveat emptor: these use single memory cycles to get the * data from the underlying buffer, and will fail to operate * properly if the data is not aligned. The standard way to use these * is to say: * if ((buf = XDR_INLINE(xdrs, count)) == NULL) * return (FALSE); * <<< macro calls >>> * where ``count'' is the number of bytes of data occupied * by the primitive data types. * * N.B. and frozen for all time: each data type here uses 4 bytes * of external representation. */ #define IXDR_GET_LONG(buf) ((long)ntohl((u_long)*(buf)++)) #define IXDR_PUT_LONG(buf, v) (*(buf)++ = (long)htonl((u_long)v)) #define IXDR_GET_BOOL(buf) ((bool_t)IXDR_GET_LONG(buf)) #define IXDR_GET_ENUM(buf, t) ((t)IXDR_GET_LONG(buf)) #define IXDR_GET_U_LONG(buf) ((u_long)IXDR_GET_LONG(buf)) #define IXDR_GET_SHORT(buf) ((short)IXDR_GET_LONG(buf)) #define IXDR_GET_U_SHORT(buf) ((u_short)IXDR_GET_LONG(buf)) #define IXDR_PUT_BOOL(buf, v) IXDR_PUT_LONG((buf), ((long)(v))) #define IXDR_PUT_ENUM(buf, v) IXDR_PUT_LONG((buf), ((long)(v))) #define IXDR_PUT_U_LONG(buf, v) IXDR_PUT_LONG((buf), ((long)(v))) #define IXDR_PUT_SHORT(buf, v) IXDR_PUT_LONG((buf), ((long)(v))) #define IXDR_PUT_U_SHORT(buf, v) IXDR_PUT_LONG((buf), ((long)(v))) /* * These are the "generic" xdr routines. */ extern bool_t xdr_void __P ((void)); extern bool_t xdr_int __P ((XDR *__xdrs, int *__ip)); extern bool_t xdr_u_int __P ((XDR *__xdrs, u_int *__up)); extern bool_t xdr_long __P ((XDR *__xdrs, long *__lp)); extern bool_t xdr_u_long __P ((XDR *__xdrs, u_long *__ulp)); extern bool_t xdr_short __P ((XDR *__xdrs, short *__sp)); extern bool_t xdr_u_short __P ((XDR *__xdrs, u_short *__usp)); extern bool_t xdr_bool __P ((XDR *__xdrs, bool_t *__bp)); extern bool_t xdr_enum __P ((XDR *__xdrs, enum_t *__ep)); extern bool_t xdr_array __P ((XDR *__xdrs, caddr_t *__addrp, u_int *__sizep, u_int __maxsize, u_int __elsize, xdrproc_t __elproc)); extern bool_t xdr_bytes __P ((XDR *__xdrs, char **__cpp, u_int *__sizep, u_int __maxsize)); extern bool_t xdr_opaque __P ((XDR *__xdrs, caddr_t __cp, u_int __cnt)); extern bool_t xdr_string __P ((XDR *__xdrs, char **__cpp, u_int __maxsize)); extern bool_t xdr_union __P ((XDR *__xdrs, enum_t *__dscmp, char *__unp, struct xdr_discrim *__choices, xdrproc_t __dfault)); extern bool_t xdr_char __P ((XDR *__xdrs, char *__cp)); extern bool_t xdr_u_char __P ((XDR *__xdrs, u_char * __ucp)); extern bool_t xdr_vector __P ((XDR *__xdrs, char *__basep, u_int __nelem, u_int __elemsize, xdrproc_t __xdr_elem)); extern bool_t xdr_float __P ((XDR *__xdrs, float *__fp)); extern bool_t xdr_double __P ((XDR *__xdrs, double *__dp)); extern bool_t xdr_reference __P ((XDR *__xdrs, caddr_t *__pp, u_int __size, xdrproc_t __proc)); extern bool_t xdr_pointer __P ((XDR *__xdrs, char **__objpp, u_int __obj_size, xdrproc_t __xdr_obj)); extern bool_t xdr_wrapstring __P ((XDR *__xdrs, char **__cpp)); extern void xdr_free __P ((xdrproc_t __proc, char *__objp)); /* * Common opaque bytes objects used by many rpc protocols; * declared here due to commonality. */ #define MAX_NETOBJ_SZ 1024 struct netobj { u_int n_len; char *n_bytes; }; typedef struct netobj netobj; extern bool_t xdr_netobj __P ((XDR *__xdrs, struct netobj *__np)); /* * These are the public routines for the various implementations of * xdr streams. */ /* XDR using memory buffers */ extern void xdrmem_create __P((XDR *__xdrs, caddr_t __addr, u_int __size, enum xdr_op __op)); /* XDR using stdio library */ extern void xdrstdio_create __P((XDR *__xdrs, FILE *__file, enum xdr_op __op)); /* XDR pseudo records for tcp */ extern void xdrrec_create __P((XDR *__xdrs, u_int __sendsize, u_int recvsize, caddr_t __tcp_handle, int (*__readit)(), int (*__writeit)())); /* make end of xdr record */ extern bool_t xdrrec_endofrecord __P((XDR *__xdrs, bool_t __sendnow)); /* move to beginning of next record */ extern bool_t xdrrec_skiprecord __P((XDR *__xdrs)); /* true if no more input */ extern bool_t xdrrec_eof __P((XDR *__xdrs)); struct opaque_auth; extern bool_t xdr_opaque_auth __P ((XDR *, struct opaque_auth *)); __END_DECLS #endif /* _RPC_XDR_H */ ./usr/include/sys/ 40755 1676 334 0 5537501507 12032 5ustar hjlisl./usr/include/sys/cdefs.h100644 1676 334 7204 5522041626 13362 0ustar hjlisl/* Copyright (C) 1992, 1993 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef _SYS_CDEFS_H #define _SYS_CDEFS_H 1 #ifdef __GNU_LIBRARY__ #include #endif #ifdef __GNUC__ #define __P(args) args /* GCC can always grok prototypes. */ #define __DOTS , ... /* Figure out how to declare functions that (1) depend only on their parameters and have no side effects, or (2) don't return. */ #if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || defined(__cplusplus) /* Old GCC way. */ #ifndef __CONSTVALUE #define __CONSTVALUE __const__ #define __CONSTVALUE2 #endif #ifndef __NORETURN #define __NORETURN __volatile__ #define __NORETURN2 #endif #else /* New GCC way. */ #ifndef __CONSTVALUE #define __CONSTVALUE #if defined(const) || !defined(__STDC__) #define __CONSTVALUE2 /* We don't want empty __attribute__ (()). */ #else #define __CONSTVALUE2 __attribute__ ((const)) #endif #endif #ifndef __NORETURN #define __NORETURN #ifdef noreturn #define __NORETURN2 /* We don't want empty __attribute__ (()). */ #else #define __NORETURN2 __attribute__ ((noreturn)) #endif #endif #endif #else /* Not GCC. */ #define __inline /* No inline functions. */ #define __CONSTVALUE /* No idempotent functions. */ #define __CONSTVALUE2 #define __NORETURN /* No functions-of-no-return. */ #define __NORETURN2 #if (defined (__STDC__) && __STDC__) || defined (__cplusplus) #define __P(args) args #define __const const #define __signed signed #define __volatile volatile #define __DOTS , ... #else /* Not ANSI C or C++. */ #define __P(args) () /* No prototypes. */ #define __const /* No ANSI C keywords. */ #define __signed #define __volatile #define __DOTS #endif /* ANSI C or C++. */ #endif /* GCC. */ #if __GNUC__ < 2 /* In GCC version 2, (__extension__ EXPR) will not complain about GCC extensions used in EXPR under -ansi or -pedantic. */ #define __extension__ #endif /* For these things, GCC behaves the ANSI way normally, and the non-ANSI way under -traditional. */ #if defined (__STDC__) && __STDC__ #define __CONCAT(x,y) x ## y #define __STRING(x) #x /* This is not a typedef so `const __ptr_t' does the right thing. */ #define __ptr_t void * typedef long double __long_double_t; #else #define __CONCAT(x,y) x/**/y #define __STRING(x) "x" #define __ptr_t char * typedef double __long_double_t; #endif /* The BSD header files use the ANSI keywords unmodified. (This means that old programs may lose if they use the new keywords as identifiers.) We define them to their __ versions, which are taken care of above. */ #ifdef __USE_BSD /* __attribute__ uses const. */ #if 0 #define const __const #endif #define signed __signed #define volatile __volatile #endif /* C++ needs to know that types and declarations are C, not C++. */ #ifdef __cplusplus #define __BEGIN_DECLS extern "C" { #define __END_DECLS } #else #define __BEGIN_DECLS #define __END_DECLS #endif #endif /* sys/cdefs.h */ ./usr/include/sys/dir.h100644 1676 334 464 5270324025 13032 0ustar hjlisl#ifdef _SYS_DIRENT_H #error "Can't include both sys/dir.h and sys/dirent.h" #define _SYS_DIR_H #endif #ifndef _SYS_DIR_H #define _SYS_DIR_H #include #define direct dirent #undef DIRSIZ #define DIRSIZ(dp) ((sizeof (struct direct) - (MAXNAMLEN+1)) + \ (((dp)->d_namlen+1 + 3) &~ 3)) #endif ./usr/include/sys/dirent.h100644 1676 334 461 5270322652 13542 0ustar hjlisl#ifdef _SYS_DIR_H #error "Can't include both sys/dir.h and sys/dirent.h" #define _SYS_DIRENT_H #endif #ifndef _SYS_DIRENT_H #define _SYS_DIRENT_H #include #include /* for type off_t in dirent.h */ #include #ifndef DIRSIZ #define DIRSIZ NAME_MAX #endif #endif ./usr/include/sys/errno.h100644 1676 334 23 5263127457 13364 0ustar hjlisl#include ./usr/include/sys/fcntl.h100644 1676 334 23 5263127460 13337 0ustar hjlisl#include ./usr/include/sys/file.h100644 1676 334 1422 5270324275 13215 0ustar hjlisl#ifndef _SYS_FILE_H #define _SYS_FILE_H #include #include #define L_SET 0 /* absolute offset */ #define L_INCR 1 /* relative to current offset */ #define L_XTND 2 /* relative to end of file */ /* Operations for the `flock' call. */ #define LOCK_SH 1 /* Shared lock. */ #define LOCK_EX 2 /* Exclusive lock. */ #define LOCK_UN 8 /* Unlock. */ /* Can be OR'd in to one of the above. */ #define LOCK_NB 4 /* Don't block when locking. */ __BEGIN_DECLS /* Apply or remove an advisory lock, according to OPERATION, on the file FD refers to. */ extern int __flock __P ((int __fd, int __operation)); extern int flock __P ((int __fd, int __operation)); __END_DECLS #endif ./usr/include/sys/ioctl.h100644 1676 334 405 5302261552 13362 0ustar hjlisl#ifndef _SYS_IOCTL_H #define _SYS_IOCTL_H #include #include #include __BEGIN_DECLS extern int ioctl __P ((int __fildes, int __cmd, ...)); extern int __ioctl __P ((int __fildes, int __cmd, ...)); __END_DECLS #endif ./usr/include/sys/kd.h100644 1676 334 123 5321435574 12653 0ustar hjlisl#ifndef _SYS_KD_H #define _SYS_KD_H #include #endif /* _SYS_KD_H */ ./usr/include/sys/mman.h100644 1676 334 1025 5530245752 13226 0ustar hjlisl#ifndef _SYS_MMAN_H #define _SYS_MMAN_H #include #include #include #ifndef MAP_ANON #define MAP_ANON MAP_ANONYMOUS /* idem */ #endif #define MAP_FILE 0x00 /* The 'normal' way: mapped from file */ __BEGIN_DECLS extern caddr_t mmap __P((caddr_t __addr, size_t __len, int __prot, int __flags, int __fd, off_t __off)); extern int munmap __P((caddr_t __addr, size_t __len)); extern int mprotect __P ((caddr_t __addr, size_t __len, int __prot)); __END_DECLS #endif /* _SYS_MMAN_H */ ./usr/include/sys/mount.h100644 1676 334 513 5330636172 13417 0ustar hjlisl#ifndef _SYS_MOUNT_H #define _SYS_MOUNT_H #include __BEGIN_DECLS extern int mount __P ((__const char* __specialfile, __const char* __dir,__const char* __filesystemype, unsigned long __rwflag,__const void *__data)); extern int umount __P ((__const char* __specialfile)); __END_DECLS #endif /* _SYS_MOUNT_H */ ./usr/include/sys/mtio.h100644 1676 334 553 5302261474 13227 0ustar hjlisl/* * sys/mtio.h header file for Linux. Written by H. Bergman. * Split into and by K. Makisara. */ #ifndef _SYS_MTIO_H #define _SYS_MTIO_H #include #include #include #ifndef DEFTAPE #define DEFTAPE "/dev/tape" /* default tape device */ #endif /* DEFTAPE */ #endif /* not _SYS_MTIO_H */ ./usr/include/sys/param.h100644 1676 334 657 5470604700 13363 0ustar hjlisl#ifndef _SYS_PARAM_H #define _SYS_PARAM_H #include #include /* Don't change it. H.J. */ #ifdef OLD_LINUX #undef MAXHOSTNAMELEN #define MAXHOSTNAMELEN 8 /* max length of hostname */ #endif #ifndef howmany #define howmany(x, y) (((x)+((y)-1))/(y)) #endif #ifndef roundup #define roundup(x, y) ((((x)+((y)-1))/(y))*(y)) #endif #define MAXPATHLEN PATH_MAX #define NOFILE OPEN_MAX #endif ./usr/include/sys/ptrace.h100644 1676 334 345 5270607221 13532 0ustar hjlisl#ifndef _SYS_PTRACE_H #define _SYS_PTRACE_H #include #include __BEGIN_DECLS extern int ptrace __P ((int __request, int __pid, int __addr, int __data)); __END_DECLS #endif /* _SYS_PTRACE_H */ ./usr/include/sys/wait.h100644 1676 334 11470 5424120112 13247 0ustar hjlisl/* Copyright (C) 1991, 1992 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the, 1992 Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* * POSIX Standard: 3.2.1 Wait for Process Termination */ #ifndef _SYS_WAIT_H #define _SYS_WAIT_H 1 #include __BEGIN_DECLS #include /* This will define the `W*' macros for the flag bits to `waitpid', `wait3', and `wait4'. */ #include #ifdef __USE_BSD /* Lots of hair to allow traditional BSD use of `union wait' as well as POSIX.1 use of `int' for the status word. */ #ifdef __GNUC__ #define __WAIT_INT(status) \ (__extension__ ({ union { __typeof(status) __in; int __i; } __u; \ __u.__in = (status); __u.__i; })) #else #define __WAIT_INT(status) (*(int *) &(status)) #endif /* This is the type of the argument to `wait'. With GCC 2, the funky union causes redeclarations with either `int *' or `union wait *' to be allowed. */ #if !defined (__GNUC__) || __GNUC__ < 2 || 1 /* GCC broken as of 2.3.1 */ #define __WAIT_STATUS __ptr_t #else #define __WAIT_STATUS union { union wait *__unionptr; int *__intptr; } #endif #else /* Don't use BSD. */ #define __WAIT_INT(status) (status) #define __WAIT_STATUS int * #endif /* Use BSD. */ /* This will define all the `__W*' macros. */ #include #define WEXITSTATUS(status) __WEXITSTATUS(__WAIT_INT(status)) #define WTERMSIG(status) __WTERMSIG(__WAIT_INT(status)) #define WSTOPSIG(status) __WSTOPSIG(__WAIT_INT(status)) #define WIFEXITED(status) __WIFEXITED(__WAIT_INT(status)) #define WIFSIGNALED(status) __WIFSIGNALED(__WAIT_INT(status)) #define WIFSTOPPED(status) __WIFSTOPPED(__WAIT_INT(status)) #ifdef __USE_BSD #define WCOREDUMP(status) __WCOREDUMP(__WAIT_INT(status)) #define W_EXITCODE(ret, sig) __W_EXITCODE(ret, sig) #define W_STOPCODE(sig) __W_STOPCODE(sig) #endif /* Wait for a child to die. When one does, put its status in *STAT_LOC and return its process ID. For errors, return (pid_t) -1. */ extern __pid_t __wait __P ((__WAIT_STATUS __stat_loc)); extern __pid_t wait __P ((__WAIT_STATUS __stat_loc)); #ifdef __USE_BSD /* Special values for the PID argument to `waitpid' and `wait4'. */ #define WAIT_ANY (-1) /* Any process. */ #define WAIT_MYPGRP 0 /* Any process in my process group. */ #endif /* Wait for a child matching PID to die. If PID is greater than 0, match any process whose process ID is PID. If PID is (pid_t) -1, match any process. If PID is (pid_t) 0, match any process with the same process group as the current process. If PID is less than -1, match any process whose process group is the absolute value of PID. If the WNOHANG bit is set in OPTIONS, and that child is not already dead, return (pid_t) 0. If successful, return PID and store the dead child's status in STAT_LOC. Return (pid_t) -1 for errors. If the WUNTRACED bit is set in OPTIONS, return status for stopped children; otherwise don't. */ extern __pid_t __waitpid __P ((__pid_t __pid, int *__stat_loc, int __options)); extern __pid_t waitpid __P ((__pid_t __pid, int *__stat_loc, int __options)); #ifdef __USE_BSD /* This being here makes the prototypes valid whether or not we have already included to define `struct rusage'. */ struct rusage; /* Wait for a child to exit. When one does, put its status in *STAT_LOC and return its process ID. For errors return (pid_t) -1. If USAGE is not nil, store information about the child's resource usage there. If the WUNTRACED bit is set in OPTIONS, return status for stopped children; otherwise don't. */ extern __pid_t __wait3 __P ((__WAIT_STATUS __stat_loc, int __options, struct rusage * __usage)); extern __pid_t wait3 __P ((__WAIT_STATUS __stat_loc, int __options, struct rusage * __usage)); /* PID is like waitpid. Other args are like wait3. */ extern __pid_t __wait4 __P ((__pid_t __pid, __WAIT_STATUS __stat_loc, int __options, struct rusage *__usage)); extern __pid_t wait4 __P ((__pid_t __pid, __WAIT_STATUS __stat_loc, int __options, struct rusage *__usage)); #endif /* Use BSD. */ __END_DECLS #endif /* sys/wait.h */ ./usr/include/sys/resource.h100644 1676 334 1244 5434236076 14132 0ustar hjlisl/* * Resource control/accounting header file for linux */ #ifndef _SYS_RESOURCE_H #define _SYS_RESOURCE_H #include #include #include #include __BEGIN_DECLS extern int getrlimit __P ((int __resource, struct rlimit *__rlp)); extern int setrlimit __P ((int __resource, __const struct rlimit *__rlp)); extern int getpriority __P((int __which, int __who)); extern int setpriority __P((int __which, int __who, int __prio)); extern int __getrusage __P ((int __who, struct rusage *__rusage)); extern int getrusage __P ((int __who, struct rusage *__rusage)); __END_DECLS #endif /* _SYS_RESOURCE_H */ ./usr/include/sys/serial.h100644 1676 334 5116 5263127464 13564 0ustar hjlisl#ifndef SYS_SERIAL_H #define SYS_SERIAL_H /* * Defines for PC AT serial port. */ /* * serial port addresses and IRQs */ #define PORT_0 0x03F8 #define PORT_1 0x02F8 #define IRQ_0 0x04 #define IRQ_1 0x03 /* * Definitions for INS8250 / 16550 chips */ /* defined as offsets from the port address (data port) */ #define DAT 0 /* receive/transmit data */ #define ICR 1 /* interrupt control register */ #define ISR 2 /* interrupt status register */ #define LCR 3 /* line control register */ #define MCR 4 /* modem control register */ #define LSR 5 /* line status register */ #define MSR 6 /* modem status register */ #define DLL 0 /* divisor latch (lsb) */ #define DLH 1 /* divisor latch (msb) */ /* ICR */ #define RIEN 0x01 /* enable receiver interrupt */ #define TIEN 0x02 /* enable transmitter interrupt */ #define SIEN 0x04 /* enable receiver line status interrupt */ #define MIEN 0x08 /* enable modem status interrupt */ /* ISR */ #define FFTMOUT 0x0c /* fifo rcvr timeout */ #define RSTATUS 0x06 /* change in receiver line status */ #define RxRDY 0x04 /* receiver data available */ #define TxRDY 0x02 /* transmitter holding register empty */ #define MSTATUS 0x00 /* change in modem status */ /* LCR 3 */ /* number of data bits per received/transmitted character */ #define RXLEN 0x03 #define STOP1 0x00 #define STOP2 0x04 #define PAREN 0x08 #define PAREVN 0x10 #define PARMARK 0x20 #define SNDBRK 0x40 #define DLAB 0x80 /* baud rate definitions */ #define ASY9600 12 /* definitions for character length (data bits) in RXLEN field */ #define BITS5 0x00 #define BITS6 0x01 #define BITS7 0x02 #define BITS8 0x03 /* MCR */ #define DTR 0x01 /* bring up DTR */ #define RTS 0x02 /* bring up RTS */ #define OUT1 0x04 #define OUT2 0x08 #define LOOP 0x10 /* put chip into loopback state */ /* LSR */ #define RCA 0x01 /* receive char available */ #define OVRRUN 0x02 /* receive overrun */ #define PARERR 0x04 /* parity error */ #define FRMERR 0x08 /* framing/CRC error */ #define BRKDET 0x10 /* break detected (null char + frame error) */ #define XHRE 0x20 /* transmit holding register empty */ #define XSRE 0x40 /* transmit shift register empty */ /* MSR */ #define DCTS 0x01 /* CTS has changed state */ #define DDSR 0x02 /* DSR has changed state */ #define DRI 0x04 /* RI has changed state */ #define DDCD 0x08 /* DCD has changed state */ #define CTS 0x10 /* state of CTS */ #define DSR 0x20 /* state of DSR */ #define RI 0x40 /* state of RI */ #define DCD 0x80 /* state of DCD */ #define DELTAS(x) ((x)&(DCTS|DDSR|DRI|DDCD)) #define STATES(x) ((x)(CTS|DSR|RI|DCD)) #endif /* SYS_SERIAL_H */ ./usr/include/sys/signal.h100644 1676 334 24 5263127465 13514 0ustar hjlisl#include ./usr/include/sys/socket.h100644 1676 334 10672 5330635707 13617 0ustar hjlisl#ifndef _SYS_SOCKET_H #define _SYS_SOCKET_H #include #include __BEGIN_DECLS /* Create a new socket of type TYPE in domain DOMAIN, using protocol PROTOCOL. If PROTOCOL is zero, one is chosen automatically. Returns a file descriptor for the new socket, or -1 for errors. */ int socket __P ((int __family, int __type, int __protocol)); /* Create two new sockets, of type TYPE in domain DOMAIN and using protocol PROTOCOL, which are connected to each other, and put file descriptors for them in FDS[0] and FDS[1]. If PROTOCOL is zero, one will be chosen automatically. Returns 0 on success, -1 for errors. */ int socketpair __P ((int __family, int __type, int __protocol, int __sockvec[2])); /* Give the socket FD the local address ADDR (which is LEN bytes long). */ int bind __P ((int __sockfd, struct sockaddr *__my_addr, int __addrlen)); /* Open a connection on socket FD to peer at ADDR (which LEN bytes long). For connectionless socket types, just set the default address to send to and the only address from which to accept transmissions. Return 0 on success, -1 for errors. */ int connect __P ((int __sockfd, struct sockaddr *__serv_addr, int __addrlen)); /* Prepare to accept connections on socket FD. N connection requests will be queued before further requests are refused. Returns 0 on success, -1 for errors. */ int listen __P ((int __sockfd, int __n)); /* Await a connection on socket FD. When a connection arrives, open a new socket to communicate with it, set *ADDR (which is *ADDR_LEN bytes long) to the address of the connecting peer and *ADDR_LEN to the address's actual length, and return the new socket's descriptor, or -1 for errors. */ int accept __P ((int __sockfd, struct sockaddr *__peer, int *__paddrlen)); /* Put the current value for socket FD's option OPTNAME at protocol level LEVEL into OPTVAL (which is *OPTLEN bytes long), and set *OPTLEN to the value's actual length. Returns 0 on success, -1 for errors. */ int getsockopt __P ((int __s, int __level, int __optname, void *__optval, int *__optlen)); /* Set socket FD's option OPTNAME at protocol level LEVEL to *OPTVAL (which is OPTLEN bytes long). Returns 0 on success, -1 for errors. */ int setsockopt __P ((int __s, int __level, int __optname, __const void *__optval, int optlen)); /* Put the local address of FD into *ADDR and its length in *LEN. */ int getsockname __P ((int __sockfd, struct sockaddr *__addr, int *__paddrlen)); /* Put the address of the peer connected to socket FD into *ADDR (which is *LEN bytes long), and its actual length into *LEN. */ int getpeername __P ((int __sockfd, struct sockaddr *__peer, int *__paddrlen)); /* Send N bytes of BUF to socket FD. Returns the number sent or -1. */ int send __P ((int __sockfd, __const void *__buff, int __len, unsigned int __flags)); /* Read N bytes into BUF from socket FD. Returns the number read or -1 for errors. */ int recv __P ((int __sockfd, void *__buff, int __len, unsigned int __flags)); /* Send N bytes of BUF on socket FD to peer at address ADDR (which is ADDR_LEN bytes long). Returns the number sent, or -1 for errors. */ int sendto __P ((int __sockfd, __const void *__buff, int __len, unsigned int __flags, __const struct sockaddr *__to, int __tolen)); /* Read N bytes into BUF through socket FD. If ADDR is not NULL, fill in *ADDR_LEN bytes of it with tha address of the sender, and store the actual size of the address in *ADDR_LEN. Returns the number of bytes read or -1 for errors. */ int recvfrom __P ((int __sockfd, void *__buff, int __len, unsigned int __flags, struct sockaddr *__from, int *__fromlen)); /* Shut down all or part of the connection open on socket FD. HOW determines what to shut down: 0 = No more receptions; 1 = No more transmissions; 2 = No more receptions or transmissions. Returns 0 on success, -1 for errors. */ int shutdown __P ((int __sockfd, int __how)); /* belongs here or elsewhere? */ int rcmd __P ((char **__ahost, unsigned short __inport, __const char *__locuser, __const char *__remuser, __const char *__cmd, int *__fd2p)); int rresvport __P ((int *__port)); int ruserok __P ((__const char *__rhost, int __superuser, __const char *__ruser, __const char *__luser)); int rexec __P ((char **__ahost, int __inport, __const char *__user, __const char *__passwd, __const char *__cmd, int *__fd2p)); __END_DECLS #endif /* _SYS_SOCKET_H */ ./usr/include/sys/socketcall.h100644 1676 334 645 5270327431 14405 0ustar hjlisl#ifndef _SYS_SOCKETCALL_H #define _SYS_SOCKETCALL_H #define SYS_SOCKET 1 #define SYS_BIND 2 #define SYS_CONNECT 3 #define SYS_LISTEN 4 #define SYS_ACCEPT 5 #define SYS_GETSOCKNAME 6 #define SYS_GETPEERNAME 7 #define SYS_SOCKETPAIR 8 #define SYS_SEND 9 #define SYS_RECV 10 #define SYS_SENDTO 11 #define SYS_RECVFROM 12 #define SYS_SHUTDOWN 13 #define SYS_SETSOCKOPT 14 #define SYS_GETSOCKOPT 15 #endif _SYS_SOCKETCALL_H ./usr/include/sys/stat.h100644 1676 334 4331 5476405041 13252 0ustar hjlisl#ifndef _SYS_STAT_H #define _SYS_STAT_H #include #include #undef __NOT_KERNEL #define __NOT_KERNEL #include #undef __NOT_KERNEL __BEGIN_DECLS #ifdef OLD_LINUX struct stat { dev_t st_dev; ino_t st_ino; umode_t st_mode; nlink_t st_nlink; uid_t st_uid; gid_t st_gid; dev_t st_rdev; off_t st_size; time_t st_atime; time_t st_mtime; time_t st_ctime; }; #else struct stat { dev_t st_dev; unsigned short __pad1; ino_t st_ino; umode_t st_mode; nlink_t st_nlink; uid_t st_uid; gid_t st_gid; dev_t st_rdev; unsigned short __pad2; off_t st_size; unsigned long st_blksize; unsigned long st_blocks; time_t st_atime; unsigned long __unused1; time_t st_mtime; unsigned long __unused2; time_t st_ctime; unsigned long __unused3; unsigned long __unused4; unsigned long __unused5; }; #endif /* Some synonyms used historically in the kernel and elsewhere */ #define S_IREAD S_IRUSR /* read permission, owner */ #define S_IWRITE S_IWUSR /* write permission, owner */ #define S_IEXEC S_IXUSR /* execute/search permission, owner */ extern int __chmod __P ((__const char *__path, mode_t __mode)); extern int chmod __P ((__const char *__path, mode_t __mode)); extern int __fchmod __P ((int __fildes, mode_t __mode)); extern int fchmod __P ((int __fildes, mode_t __mode)); extern int __fstat __P ((int __fildes, struct stat *__stat_buf)); extern int fstat __P ((int __fildes, struct stat *__stat_buf)); extern int __mkdir __P ((__const char *__path, mode_t __mode)); extern int mkdir __P ((__const char *__path, mode_t __mode)); extern int __mknod __P ((__const char *__path, mode_t __mode, dev_t __dev)); extern int mknod __P ((__const char *__path, mode_t __mode, dev_t __dev)); extern int mkfifo __P ((__const char *__path, mode_t __mode)); extern int __stat __P ((__const char *__filename, struct stat *__stat_buf)); extern int stat __P ((__const char *__filename, struct stat *__stat_buf)); extern int __lstat __P ((__const char *__filename, struct stat *__stat_buf)); extern int lstat __P ((__const char *__filename, struct stat *__stat_buf)); extern mode_t __umask __P ((mode_t __mask)); extern mode_t umask __P ((mode_t __mask)); __END_DECLS #endif ./usr/include/sys/syscall.h100644 1676 334 6106 5527573406 13763 0ustar hjlisl#ifndef _SYS_SYSCALL_H #define _SYS_SYSCALL_H #define SYS_setup 0 /* Used only by init, to get system going. */ #define SYS_exit 1 #define SYS_fork 2 #define SYS_read 3 #define SYS_write 4 #define SYS_open 5 #define SYS_close 6 #define SYS_waitpid 7 #define SYS_creat 8 #define SYS_link 9 #define SYS_unlink 10 #define SYS_execve 11 #define SYS_chdir 12 #define SYS_time 13 #define SYS_mknod 14 #define SYS_chmod 15 #define SYS_chown 16 #define SYS_break 17 #define SYS_oldstat 18 #define SYS_lseek 19 #define SYS_getpid 20 #define SYS_mount 21 #define SYS_umount 22 #define SYS_setuid 23 #define SYS_getuid 24 #define SYS_stime 25 #define SYS_ptrace 26 #define SYS_alarm 27 #define SYS_oldfstat 28 #define SYS_pause 29 #define SYS_utime 30 #define SYS_stty 31 #define SYS_gtty 32 #define SYS_access 33 #define SYS_nice 34 #define SYS_ftime 35 #define SYS_sync 36 #define SYS_kill 37 #define SYS_rename 38 #define SYS_mkdir 39 #define SYS_rmdir 40 #define SYS_dup 41 #define SYS_pipe 42 #define SYS_times 43 #define SYS_prof 44 #define SYS_brk 45 #define SYS_setgid 46 #define SYS_getgid 47 #define SYS_signal 48 #define SYS_geteuid 49 #define SYS_getegid 50 #define SYS_acct 51 #define SYS_phys 52 #define SYS_lock 53 #define SYS_ioctl 54 #define SYS_fcntl 55 #define SYS_mpx 56 #define SYS_setpgid 57 #define SYS_ulimit 58 #define SYS_oldolduname 59 #define SYS_umask 60 #define SYS_chroot 61 #define SYS_ustat 62 #define SYS_dup2 63 #define SYS_getppid 64 #define SYS_getpgrp 65 #define SYS_setsid 66 #define SYS_sigaction 67 #define SYS_siggetmask 68 #define SYS_sigsetmask 69 #define SYS_setreuid 70 #define SYS_setregid 71 #define SYS_sigsuspend 72 #define SYS_sigpending 73 #define SYS_sethostname 74 #define SYS_setrlimit 75 #define SYS_getrlimit 76 #define SYS_getrusage 77 #define SYS_gettimeofday 78 #define SYS_settimeofday 79 #define SYS_getgroups 80 #define SYS_setgroups 81 #define SYS_select 82 #define SYS_symlink 83 #define SYS_oldlstat 84 #define SYS_readlink 85 #define SYS_uselib 86 #define SYS_swapon 87 #define SYS_reboot 88 #define SYS_readdir 89 #define SYS_mmap 90 #define SYS_munmap 91 #define SYS_truncate 92 #define SYS_ftruncate 93 #define SYS_fchmod 94 #define SYS_fchown 95 #define SYS_getpriority 96 #define SYS_setpriority 97 #define SYS_profil 98 #define SYS_statfs 99 #define SYS_fstatfs 100 #define SYS_ioperm 101 #define SYS_socketcall 102 #define SYS_klog 103 #define SYS_setitimer 104 #define SYS_getitimer 105 #define SYS_stat 106 #define SYS_lstat 107 #define SYS_fstat 108 #define SYS_olduname 109 #define SYS_iopl 110 #define SYS_vhangup 111 #define SYS_idle 112 #define SYS_vm86 113 #define SYS_wait4 114 #define SYS_swapoff 115 #define SYS_sysinfo 116 #define SYS_ipc 117 #define SYS_fsync 118 #define SYS_sigreturn 119 #define SYS_clone 120 #define SYS_setdomainname 121 #define SYS_uname 122 #define SYS_modify_ldt 123 #define SYS_adjtimex 124 #define SYS_mprotect 125 #define SYS_sigprocmask 126 #define SYS_getpgid 132 #endif /* */ ./usr/include/sys/syslog.h100644 1676 334 15027 5502621734 13642 0ustar hjlisl/* * Copyright (c) 1982, 1986, 1988 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. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the University of * California, Berkeley and its contributors. * 4. 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. * * @(#)syslog.h 7.20 (Berkeley) 2/23/91 */ #ifndef _SYS_LOG_H #define _SYS_LOG_H #include #define _PATH_LOG "/dev/log" /* * priorities/facilities are encoded into a single 32-bit quantity, where the * bottom 3 bits are the priority (0-7) and the top 28 bits are the facility * (0-big number). Both the priorities and the facilities map roughly * one-to-one to strings in the syslogd(8) source code. This mapping is * included in this file. * * priorities (these are ordered) */ #define LOG_EMERG 0 /* system is unusable */ #define LOG_ALERT 1 /* action must be taken immediately */ #define LOG_CRIT 2 /* critical conditions */ #define LOG_ERR 3 /* error conditions */ #define LOG_WARNING 4 /* warning conditions */ #define LOG_NOTICE 5 /* normal but significant condition */ #define LOG_INFO 6 /* informational */ #define LOG_DEBUG 7 /* debug-level messages */ #define LOG_PRIMASK 0x07 /* mask to extract priority part (internal) */ /* extract priority */ #define LOG_PRI(p) ((p) & LOG_PRIMASK) #define LOG_MAKEPRI(fac, pri) (((fac) << 3) | (pri)) #ifdef SYSLOG_NAMES #define INTERNAL_NOPRI 0x10 /* the "no priority" priority */ /* mark "facility" */ #define INTERNAL_MARK LOG_MAKEPRI(LOG_NFACILITIES, 0) typedef struct _code { char *c_name; int c_val; } CODE; CODE prioritynames[] = { "alert", LOG_ALERT, "crit", LOG_CRIT, "debug", LOG_DEBUG, "emerg", LOG_EMERG, "err", LOG_ERR, "error", LOG_ERR, /* DEPRECATED */ "info", LOG_INFO, "none", INTERNAL_NOPRI, /* INTERNAL */ "notice", LOG_NOTICE, "panic", LOG_EMERG, /* DEPRECATED */ "warn", LOG_WARNING, /* DEPRECATED */ "warning", LOG_WARNING, NULL, -1, }; #endif /* facility codes */ #define LOG_KERN (0<<3) /* kernel messages */ #define LOG_USER (1<<3) /* random user-level messages */ #define LOG_MAIL (2<<3) /* mail system */ #define LOG_DAEMON (3<<3) /* system daemons */ #define LOG_AUTH (4<<3) /* security/authorization messages */ #define LOG_SYSLOG (5<<3) /* messages generated internally by syslogd */ #define LOG_LPR (6<<3) /* line printer subsystem */ #define LOG_NEWS (7<<3) /* network news subsystem */ #define LOG_UUCP (8<<3) /* UUCP subsystem */ #define LOG_CRON (9<<3) /* clock daemon */ #define LOG_AUTHPRIV (10<<3) /* security/authorization messages (private) */ /* other codes through 15 reserved for system use */ #define LOG_LOCAL0 (16<<3) /* reserved for local use */ #define LOG_LOCAL1 (17<<3) /* reserved for local use */ #define LOG_LOCAL2 (18<<3) /* reserved for local use */ #define LOG_LOCAL3 (19<<3) /* reserved for local use */ #define LOG_LOCAL4 (20<<3) /* reserved for local use */ #define LOG_LOCAL5 (21<<3) /* reserved for local use */ #define LOG_LOCAL6 (22<<3) /* reserved for local use */ #define LOG_LOCAL7 (23<<3) /* reserved for local use */ #define LOG_NFACILITIES 24 /* current number of facilities */ #define LOG_FACMASK 0x03f8 /* mask to extract facility part */ /* facility of pri */ #define LOG_FAC(p) (((p) & LOG_FACMASK) >> 3) #ifdef SYSLOG_NAMES CODE facilitynames[] = { "auth", LOG_AUTH, "authpriv", LOG_AUTHPRIV, "cron", LOG_CRON, "daemon", LOG_DAEMON, "kern", LOG_KERN, "lpr", LOG_LPR, "mail", LOG_MAIL, "mark", INTERNAL_MARK, /* INTERNAL */ "news", LOG_NEWS, "security", LOG_AUTH, /* DEPRECATED */ "syslog", LOG_SYSLOG, "user", LOG_USER, "uucp", LOG_UUCP, "local0", LOG_LOCAL0, "local1", LOG_LOCAL1, "local2", LOG_LOCAL2, "local3", LOG_LOCAL3, "local4", LOG_LOCAL4, "local5", LOG_LOCAL5, "local6", LOG_LOCAL6, "local7", LOG_LOCAL7, NULL, -1, }; #endif #ifdef KERNEL #define LOG_PRINTF -1 /* pseudo-priority to indicate use of printf */ #endif /* * arguments to setlogmask. */ #define LOG_MASK(pri) (1 << (pri)) /* mask for one priority */ #define LOG_UPTO(pri) ((1 << ((pri)+1)) - 1) /* all priorities through pri */ /* * Option flags for openlog. * * LOG_ODELAY no longer does anything. * LOG_NDELAY is the inverse of what it used to be. */ #define LOG_PID 0x01 /* log the pid with each message */ #define LOG_CONS 0x02 /* log on the console if errors in sending */ #define LOG_ODELAY 0x04 /* delay open until first syslog() (default) */ #define LOG_NDELAY 0x08 /* don't delay open */ #define LOG_NOWAIT 0x10 /* don't wait for console forks: DEPRECATED */ #define LOG_PERROR 0x20 /* log to stderr as well */ #ifndef KERNEL #include __BEGIN_DECLS #ifdef __GNUC__ /* This define avoids name pollution if we're using GNU stdarg.h */ #define __need___va_list #include #endif void closelog __P((void)); void openlog __P((__const char *, int, int)); int setlogmask __P((int)); void syslog __P((int, __const char * __DOTS)); #ifdef __GNUC_VA_LIST void vsyslog __P((int, __const char *, __gnuc_va_list)); #else void vsyslog __P(()); #endif __END_DECLS #endif /* !KERNEL */ #endif /* _SYS_LOG_H */ ./usr/include/sys/sysmacros.h100644 1676 334 272 5454270251 14301 0ustar hjlisl#ifndef _SYS_SYSMACROS_H #define _SYS_SYSMACROS_H #define major(dev) (((unsigned) (dev))>>8) #define minor(dev) ((dev)&0xff) #define makedev(major,minor) (((major)<<8)|(minor)) #endif ./usr/include/sys/time.h100644 1676 334 4413 5465014531 13234 0ustar hjlisl#ifndef _SYS_TIME_H #define _SYS_TIME_H #include #include #include #define DST_NONE 0 /* not on dst */ #define DST_USA 1 /* USA style dst */ #define DST_AUST 2 /* Australian style dst */ #define DST_WET 3 /* Western European dst */ #define DST_MET 4 /* Middle European dst */ #define DST_EET 5 /* Eastern European dst */ #define DST_CAN 6 /* Canada */ #define DST_GB 7 /* Great Britain and Eire */ #define DST_RUM 8 /* Rumania */ #define DST_TUR 9 /* Turkey */ #define DST_AUSTALT 10 /* Australian style with shift in 1986 */ /* * Operations on timevals. * * NB: timercmp does not work for >= or <=. * */ #define timerisset(tvp) ((tvp)->tv_sec || (tvp)->tv_usec) #define timercmp(tvp, uvp, cmp) \ (((tvp)->tv_sec == (uvp)->tv_sec && (tvp)->tv_usec cmp (uvp)->tv_usec) \ || (tvp)->tv_sec cmp (uvp)->tv_sec) #define timerclear(tvp) ((tvp)->tv_sec = (tvp)->tv_usec = 0) #include #include __BEGIN_DECLS extern int __gettimeofday __P ((struct timeval * __tp, struct timezone * __tz)); extern int gettimeofday __P ((struct timeval * __tp, struct timezone * __tz)); extern int __settimeofday __P ((__const struct timeval *__tv, __const struct timezone *__tz)); extern int settimeofday __P ((__const struct timeval *__tv, __const struct timezone *__tz)); extern int __select __P ((int __width, fd_set * __readfds, fd_set * __writefds, fd_set * __exceptfds, struct timeval * __timeout)); extern int select __P ((int __width, fd_set * __readfds, fd_set * __writefds, fd_set * __exceptfds, struct timeval * __timeout)); extern int __getitimer __P ((int __which, struct itimerval *__value)); extern int getitimer __P ((int __which, struct itimerval *__value)); extern int __setitimer __P ((int __which, __const struct itimerval *__value, struct itimerval *__ovalue)); extern int setitimer __P ((int __which, __const struct itimerval *__value, struct itimerval *__ovalue)); extern int __adjtime __P ((struct timeval * __itv, struct timeval * __otv)); extern int adjtime __P ((struct timeval * __itv, struct timeval * __otv)); extern int __utimes __P((char *__path, struct timeval *tvp)); extern int utimes __P((char *__path, struct timeval *tvp)); __END_DECLS #endif /*_SYS_TIME_H*/ ./usr/include/sys/timeb.h100644 1676 334 446 5270332177 13363 0ustar hjlisl#ifndef _SYS_TIMEB_H #define _SYS_TIMEB_H #include #include struct timeb { time_t time; unsigned short millitm; short timezone; short dstflag; }; __BEGIN_DECLS extern int ftime __P ((struct timeb *__tp)); __END_DECLS #endif /* _SYS_TIMEB_H */ ./usr/include/sys/times.h100644 1676 334 412 5465014623 13374 0ustar hjlisl#ifndef _SYS_TIMES_H #define _SYS_TIMES_H #include #include #include #include __BEGIN_DECLS extern clock_t times __P ((struct tms * __tp)); extern clock_t __times __P ((struct tms * __tp)); __END_DECLS #endif ./usr/include/sys/types.h100644 1676 334 501 5372040663 13416 0ustar hjlisl#ifndef _SYS_TYPES_H #define _SYS_TYPES_H #include #ifndef howmany #define howmany(x, y) (((x)+((y)-1))/(y)) #endif #ifndef roundup #define roundup(x, y) ((((x)+((y)-1))/(y))*(y)) #endif /* Don't change it without checking . */ typedef unsigned long fd_mask; #endif /* _SYS_TYPES_H */ ./usr/include/sys/uio.h100644 1676 334 3713 5330636040 13070 0ustar hjlisl/* Copyright (C) 1991 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef _SYS_UIO_H #define _SYS_UIO_H 1 #include #ifdef __STDC__ #define __need_size_t #include #else #include #endif /* Structure describing a section of memory. */ struct iovec { /* Starting address. */ void *iov_base; /* Length in bytes. */ size_t iov_len; }; __BEGIN_DECLS /* Read data from file descriptor FD, and put the result in the buffers described by VECTOR, which is a vector of COUNT `struct iovec's. The buffers are filled in the order specified. Operates just like `read' (see ) except that data are put in VECTOR instead of a contiguous buffer. */ extern int readv __P ((int __fd, __const struct iovec *__vector, size_t __count)); /* Write data pointed by the buffers described by VECTOR, which is a vector of COUNT `struct iovec's, to file descriptor FD. The data is written in the order specified. Operates just like `write' (see ) except that the data are taken from VECTOR instead of a contiguous buffer. */ extern int writev __P ((int __fd, __const struct iovec *__vector, size_t __count)); __END_DECLS #endif /* sys/uio.h */ ./usr/include/sys/un.h100644 1676 334 26 5263127473 12662 0ustar hjlisl#include ./usr/include/sys/user.h100644 1676 334 30 5263127474 13212 0ustar hjlisl#include ./usr/include/sys/utsname.h100644 1676 334 567 5367556721 13755 0ustar hjlisl#ifndef _SYS_UTSNAME_H #define _SYS_UTSNAME_H #include #include struct utsname { char sysname[65]; char nodename[65]; char release[65]; char version[65]; char machine[65]; char domainname[65]; }; __BEGIN_DECLS extern int uname __P ((struct utsname * __utsbuf)); extern int __uname __P ((struct utsname * __utsbuf)); __END_DECLS #endif ./usr/include/sys/varargs.h100644 1676 334 25 5263127475 13706 0ustar hjlisl#include ./usr/include/sys/vfs.h100644 1676 334 630 5361703212 13045 0ustar hjlisl#ifndef _SYS_VFS_H #define _SYS_VFS_H #include #include __BEGIN_DECLS extern int __statfs __P ((__const char *__path, struct statfs *__buf)); extern int statfs __P ((__const char *__path, struct statfs *__buf)); extern int __fstatfs __P ((int __fildes, struct statfs *__buf)); extern int fstatfs __P ((int __fildes, struct statfs *__buf)); __END_DECLS #endif /*_SYS_VFS_H */ ./usr/include/sys/vm86.h100644 1676 334 267 5270334344 13062 0ustar hjlisl#ifndef _SYS_VM86_H #define _SYS_VM86_H #include #include __BEGIN_DECLS extern vm86(struct vm86_struct * __info); __END_DECLS #endif /*_SYS_VM86_H */ ./usr/include/sys/vt.h100644 1676 334 123 5321435627 12705 0ustar hjlisl#ifndef _SYS_VT_H #define _SYS_VT_H #include #endif /* _SYS_VT_H */ ./usr/include/sys/ipc.h100644 1676 334 442 5536007514 13031 0ustar hjlisl#ifndef _SYS_IPC_H #define _SYS_IPC_H #include #include __BEGIN_DECLS extern key_t ftok __P((char *__pathname, char __proc_id)); extern int __ipc __P((int __call, int _first, int __second, int __third, void * __ptr)); __END_DECLS #endif /* _SYS_IPC_H */ ./usr/include/sys/sem.h100644 1676 334 1170 5410703250 13050 0ustar hjlisl#ifndef _SYS_SEM_H #define _SYS_SEM_H #include #include #include #include /* * : * set_bit, clear_bit, test_bit * all return the value of the bit prior to alteration. * It seems they are more useful than sysv sems if you * dont have a need for semaphore arrays. */ __BEGIN_DECLS extern int semget __P((key_t __key, int __nsems, int __semflg)); extern int semop __P((int __semid, struct sembuf *__sops, unsigned __nsops)); extern int semctl __P((int __semid, int __semnum, int __cmd, union semun __arg)); __END_DECLS #endif /* _SYS_SEM_H */ ./usr/include/sys/msg.h100644 1676 334 757 5410703250 13044 0ustar hjlisl#ifndef _SYS_MSG_H #define _SYS_MSG_H #include #include #include __BEGIN_DECLS extern int msgget __P((key_t __key, int __msgflg)); extern int msgsnd __P((int __msqid, struct msgbuf *__msgp, int __msgsz, int __msgflg)); extern int msgrcv __P((int __msqid, struct msgbuf *__msgp, int __msgsz, long __msgtyp, int __msgflg)); extern int msgctl __P((int __msqid, int __cmd, struct msqid_ds *__buf)); __END_DECLS #endif /* _SYS_MSG_H */ ./usr/include/sys/shm.h100644 1676 334 626 5410703251 13041 0ustar hjlisl#ifndef _SYS_SHM_H #define _SYS_SHM_H #include #include #include __BEGIN_DECLS extern int shmctl __P((int __shmid, int __cmd, struct shmid_ds *__buf)); extern int shmget __P((key_t __key, int __size, int __flag)); extern char *shmat __P((int __shmid, char *__shmaddr, int __shmflg)); extern int shmdt __P((char *__shmaddr)); __END_DECLS #endif /* _SYS_SHM_H */ ./usr/include/sys/socketio.h100644 1676 334 35 5457045662 14064 0ustar hjlisl#include ./usr/include/sys/timex.h100644 1676 334 671 5465015143 13406 0ustar hjlisl#ifndef _SYS_TIMEX_H #define _SYS_TIMEX_H #include #include #include #include struct ntptimeval { struct timeval time; /* current time */ long maxerror; /* maximum error (usec) */ long esterror; /* estimated error (usec) */ }; __BEGIN_DECLS extern int __adjtimex __P ((struct timex * __ntx)); extern int __ntp_gettime __P ((struct ntptimeval * __ntv)); __END_DECLS #endif ./usr/include/sys/termios.h100644 1676 334 25 5460065112 13707 0ustar hjlisl#include ./usr/include/sys/termio.h100644 1676 334 24 5460065141 13525 0ustar hjlisl#include ./usr/include/sys/soundcard.h100644 1676 334 36 5503364710 14215 0ustar hjlisl#include ./usr/include/sys/ultrasound.h100644 1676 334 36 5503364732 14437 0ustar hjlisl#include ./usr/include/sys/debugreg.h100644 1676 334 34 5537501507 14021 0ustar hjlisl#include ./usr/include/_G_config.h100644 1676 334 2533 5550052103 13323 0ustar hjlisl/* AUTOMATICALLY GENERATED; DO NOT EDIT! */ #ifndef _G_config_h #define _G_config_h #define _LINUX_C_LIB_VERSION "4.5.26" #define _LINUX_C_LIB_VERSION_MAJOR 4 #define _LINUX_C_LIB_VERSION_MINOR 5 #define _LINUX_C_LIB_VERSION_SUBMINOR 26 #define _G_LIB_VERSION "0.63" #define _G_NAMES_HAVE_UNDERSCORE 1 #define _G_HAVE_ST_BLKSIZE 1 typedef long _G_clock_t; typedef unsigned short _G_dev_t; typedef long int _G_fpos_t; typedef unsigned short _G_gid_t; typedef unsigned long _G_ino_t; typedef unsigned short _G_mode_t; typedef unsigned short _G_nlink_t; typedef long _G_off_t; typedef int _G_pid_t; typedef int _G_ptrdiff_t; typedef unsigned int _G_sigset_t; typedef unsigned int _G_size_t; typedef long _G_time_t; typedef unsigned short _G_uid_t; typedef long int _G_wchar_t; typedef int /* default */ _G_int32_t; typedef unsigned int /* default */ _G_uint32_t; typedef int _G_ssize_t; typedef void * _G_va_list; #define _G_signal_return_type void #define _G_sprintf_return_type int #define _G_BUFSIZ 1024 #define _G_FOPEN_MAX 256 #define _G_FILENAME_MAX 1024 #define _G_NULL 0 /* default */ #define _G_ARGS(ARGLIST) (...) #define _G_HAVE_ATEXIT 1 #define _G_HAVE_SYS_RESOURCE 1 #define _G_HAVE_SYS_SOCKET 1 #define _G_HAVE_SYS_WAIT 1 #define _G_HAVE_UNISTD 1 #define _G_HAVE_DIRENT 1 #define _G_HAVE_CURSES 1 #define _G_MATH_H_INLINES 0 #endif /* !_G_config_h */ ./usr/include/a.out.h100644 1676 334 31 5263127235 12440 0ustar hjlisl#include ./usr/include/alloca.h100644 1676 334 2641 5400011536 12703 0ustar hjlisl/* Copyright (C) 1992 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the, 1992 Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef _ALLOCA_H #define _ALLOCA_H 1 #include #define __need_size_t #include __BEGIN_DECLS /* Remove any previous definitions. */ #undef __alloca #undef alloca /* Allocate a block that will be freed when the calling function exits. */ extern __ptr_t __alloca __P ((size_t __size)); /* `alloca' is a built-in function for gcc 2.x. */ #if defined(__STDC__) || __GNUC__ < 2 extern __ptr_t alloca __P ((size_t __size)); #endif #ifdef __GNUC__ #define __alloca(size) __builtin_alloca(size) #endif /* GCC. */ #define alloca(size) __alloca(size) __END_DECLS #endif /* alloca.h */ ./usr/include/ansidecl.h100644 1676 334 5671 5263127236 13254 0ustar hjlisl/* Copyright (C) 1991 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with the GNU C Library; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ /* ANSI and traditional C compatibility macros ANSI C is assumed if __STDC__ is #defined. Macro ANSI C definition Traditional C definition ----- ---- - ---------- ----------- - ---------- PTR `void *' `char *' LONG_DOUBLE `long double' `double' CONST `const' `' VOLATILE `volatile' `' SIGNED `signed' `' PTRCONST `void *const' `char *' DEFUN(name, arglist, args) Defines function NAME. ARGLIST lists the arguments, separated by commas and enclosed in parentheses. ARGLIST becomes the argument list in traditional C. ARGS list the arguments with their types. It becomes a prototype in ANSI C, and the type declarations in traditional C. Arguments should be separated with `AND'. For functions with a variable number of arguments, the last thing listed should be `DOTS'. DEFUN_VOID(name) Defines a function NAME, which takes no arguments. EXFUN(name, prototype) Is used in an external function declaration. In ANSI C it is `NAMEPROTOTYPE' (so PROTOTYPE should be enclosed in parentheses). In traditional C it is `NAME()'. For a function that takes no arguments, PROTOTYPE should be `(NOARGS)'. For example: extern int EXFUN(printf, (CONST char *format DOTS)); int DEFUN(fprintf, (stream, format), FILE *stream AND CONST char *format DOTS) { ... } void DEFUN_VOID(abort) { ... } */ #ifndef _ANSIDECL_H #define _ANSIDECL_H 1 /* Every source file includes this file, so they will all get the switch for lint. */ /* LINTLIBRARY */ #ifdef __STDC__ #define PTR void * #define PTRCONST void *CONST #define LONG_DOUBLE long double #define AND , #define NOARGS void #define CONST const #define VOLATILE volatile #define SIGNED signed #define DOTS , ... #define EXFUN(name, proto) name proto #define DEFUN(name, arglist, args) name(args) #define DEFUN_VOID(name) name(NOARGS) #else /* Not ANSI C. */ #define PTR char * #define PTRCONST PTR #define LONG_DOUBLE double #define AND ; #define NOARGS #define CONST #define VOLATILE #define SIGNED #define DOTS #define EXFUN(name, proto) name() #define DEFUN(name, arglist, args) name arglist args; #define DEFUN_VOID(name) name() #endif /* ANSI C. */ #endif /* ansidecl.h */ ./usr/include/ar.h100644 1676 334 444 5360356156 12050 0ustar hjlisl/* Typed in by Richard */ /* minor changes for linux */ #ifndef _AR_H #define _AR_H #define ARMAG "!\n" #define SARMAG 8 #define ARFMAG "`\n" struct ar_hdr { char ar_name[16], ar_date[12], ar_uid[6], ar_gid[6], ar_mode[8], ar_size[10], ar_fmag[2]; }; #endif /* _AR_H */ ./usr/include/asm120777 0 1 0 5522022371 17131 2../../src/linux/include/asmustar rootdaemon./usr/include/assert.h100644 1676 334 2565 5420275112 12762 0ustar hjlisl/* Allow this file to be included multiple times with different settings of NDEBUG. */ #undef assert #undef __assert #ifdef NDEBUG #define assert(ignore) ((void) 0) #else #ifndef __GNUC__ #define assert(expression) \ ((void) ((expression) ? 0 : __assert (expression, __FILE__, __LINE__))) #define __assert(expression, file, lineno) \ (printf ("%s:%u: failed assertion\n", file, lineno), \ abort (), 0) #else #if defined(__STDC__) || defined (__cplusplus) /* Defined in libgcc.a */ #ifdef __cplusplus extern "C" { extern void __eprintf (const char *, const char *, unsigned, const char *); } #else extern void __eprintf (const char *, const char *, unsigned, const char *); #endif #define assert(expression) \ ((void) ((expression) ? 0 : __assert (#expression, __FILE__, __LINE__))) #define __assert(expression, file, line) \ (__eprintf ("%s:%u: failed assertion `%s'\n", \ file, line, expression), 0) #else /* no __STDC__ and not C++; i.e. -traditional. */ extern void __eprintf (); /* Defined in libgcc.a */ #define assert(expression) \ ((void) ((expression) ? 0 : __assert (expression, __FILE__, __LINE__))) #define __assert(expression, file, lineno) \ (__eprintf ("%s:%u: failed assertion `%s'\n", \ file, lineno, "expression"), 0) #endif /* no __STDC__ and not C++; i.e. -traditional. */ #endif /* no __GNU__; i.e., /bin/cc. */ #endif ./usr/include/bstring.h100644 1676 334 24 5263127237 13066 0ustar hjlisl#include ./usr/include/confstr.h100644 1676 334 167 5267070720 13122 0ustar hjlisl#ifndef _CONFSTR_H #define _CONFSTR_H #ifndef CS_PATH #define CS_PATH "/bin:/usr/bin" #endif #endif /* _CONFSTR_H */ ./usr/include/ctype.h100644 1676 334 11353 5515346702 12631 0ustar hjlisl/* Copyright (C) 1991, 1992 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the, 1992 Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* * ANSI Standard 4.3: CHARACTER HANDLING */ #ifndef _CTYPE_H #define _CTYPE_H 1 #include __BEGIN_DECLS /* These are all the characteristics of characters. All the interdependencies (such as that an alphabetic is an uppercase or a lowercase) are here. If there get to be more than (sizeof (unsigned short int) * CHAR_BIT) distinct characteristics, many things must be changed that use `unsigned short int's. */ enum { _ISupper = 1 << 0, /* UPPERCASE. */ _ISlower = 1 << 1, /* lowercase. */ _IScntrl = 1 << 2, /* Control character. */ _ISdigit = 1 << 3, /* Numeric. */ _ISspace = 1 << 4, /* Whitespace. */ _IShex = 1 << 5, /* A - F, a - f. */ _ISpunct = 1 << 6, /* Punctuation. */ _NOgraph = 1 << 7, /* Printing but nongraphical. */ _ISblank = 1 << 8, /* Blank (usually SPC and TAB). */ _ISalpha = _ISupper | _ISlower, /* Alphabetic. */ _ISalnum = _ISalpha | _ISdigit, /* Alphanumeric. */ _ISxdigit = _ISdigit | _IShex,/* Hexadecimal numeric. */ _ISgraph = _ISalnum | _ISpunct, /* Graphical. */ _ISprint = _ISgraph | _NOgraph/* Printing. */ }; /* These are defined in localeinfo.c. The declarations here must match those in localeinfo.h. */ extern __const unsigned short int *__ctype_b; /* Characteristics. */ extern __const unsigned char *__ctype_tolower; /* Case conversions. */ extern __const unsigned char *__ctype_toupper; /* Case conversions. */ #define __isctype(c, type) (__ctype_b[c] & (unsigned short int) type) #define __isascii(c) (((c) & (1 << 7)) == 0) #define __toascii(c) ((c) & 0x7f) #define __tolower(c) __ctype_tolower[c] #define __toupper(c) __ctype_toupper[c] /* @ This line MUST be broken! m4 will not change it otherwise. @ */ #define __exctype(name) \ extern int name __P ((int)) /* The following names are all functions: int isCHARACTERISTIC(int c); which return nonzero iff C has CHARACTERISTIC. For the meaning of the characteristic names, see the `enum' above. */ __exctype (isalnum); __exctype (isalpha); __exctype (iscntrl); __exctype (isdigit); __exctype (islower); __exctype (isgraph); __exctype (isprint); __exctype (ispunct); __exctype (isspace); __exctype (isupper); __exctype (isxdigit); #ifdef __USE_GNU __exctype (isblank); #endif /* Return the lowercase version of C. */ extern int tolower __P ((int __c)); /* Return the uppercase version of C. */ extern int toupper __P ((int __c)); #if defined(__USE_SVID) || defined(__USE_MISC) /* Return nonzero iff C is in the ASCII set (i.e., is no more than 7 bits wide). */ extern int isascii __P ((int __c)); /* Return the part of C that is in the ASCII set (i.e., the low-order 7 bits of C). */ extern int toascii __P ((int __c)); #endif /* Use SVID or use misc. */ #ifdef __USE_SVID /* These are the same as `toupper' and and `tolower'. */ __exctype (_toupper); __exctype (_tolower); #endif #ifndef __NO_CTYPE #define isalnum(c) __isctype((c), _ISalnum) #define isalpha(c) __isctype((c), _ISalpha) #define iscntrl(c) __isctype((c), _IScntrl) #define isdigit(c) __isctype((c), _ISdigit) #define islower(c) __isctype((c), _ISlower) #define isgraph(c) __isctype((c), _ISgraph) #define isprint(c) __isctype((c), _ISprint) #define ispunct(c) __isctype((c), _ISpunct) #define isspace(c) __isctype((c), _ISspace) #define isupper(c) __isctype((c), _ISupper) #define isxdigit(c) __isctype((c), _ISxdigit) #ifdef __USE_GNU #define isblank(c) __isctype((c), _ISblank) #endif #if defined(__GNUC__) && !defined(__STRICT_ANSI__) extern __inline int tolower (int __c) { if ((unsigned char) __c != __c) return __c; else return __tolower (__c); } extern __inline int toupper (int __c) { if ((unsigned char) __c != __c) return __c; else return __toupper (__c); } #endif /* GCC. */ #if defined(__USE_SVID) || defined(__USE_MISC) #define isascii(c) __isascii(c) #define toascii(c) __toascii(c) #endif #endif /* Not __NO_CTYPE. */ __END_DECLS #endif /* ctype.h */ ./usr/include/curses.h100644 1676 334 26044 5431263113 13003 0ustar hjlisl/* * Copyright (c) 1981 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. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the University of * California, Berkeley and its contributors. * 4. 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. * * @(#)curses.h 5.9 (Berkeley) 7/1/90 */ #ifndef _CURSES_H #define _CURSES_H #ifndef WINDOW #ifdef __linux__ #define __POSIX_TERMIOS #include #endif #include #ifdef __POSIX_TERMIOS #include #else #define USE_OLD_TTY #include #undef USE_OLD_TTY #endif /* __POSIX_TERMIOS */ #define bool char #define reg register #define TRUE (1) #define FALSE (0) #define ERR (0) #define OK (1) #define _ENDLINE 001 #define _FULLWIN 002 #define _SCROLLWIN 004 #define _FLUSH 010 #define _FULLLINE 020 #define _IDLINE 040 #define _STANDOUT 0200 #define _NOCHANGE -1 #ifdef __POSIX_TERMIOS typedef struct termios SGTTY; #else typedef struct sgttyb SGTTY; #endif /* * Capabilities from termcap */ #undef HZ /* If HZ is defined again, cpp should complain. */ #ifdef __STDC__ #define HZ HZ #endif extern bool AM, BS, CA, DA, DB, EO, HC, HZ, IN, MI, MS, NC, NS, OS, UL, XB, XN, XT, XS, XX; extern char *AL, *BC, *BT, *CD, *CE, *CL, *CM, *CR, *CS, *DC, *DL, *DM, *DO, *ED, *EI, *K0, *K1, *K2, *K3, *K4, *K5, *K6, *K7, *K8, *K9, *HO, *IC, *IM, *IP, *KD, *KE, *KH, *KL, *KR, *KS, *KU, *LL, *MA, *ND, *NL, *RC, *SC, *SE, *SF, *SO, *SR, *TA, *TE, *TI, *UC, *UE, *UP, *US, *VB, *VS, *VE, *AL_PARM, *DL_PARM, *UP_PARM, *DOWN_PARM, *LEFT_PARM, *RIGHT_PARM; extern char PC; /* * From the tty modes... */ extern bool GT, NONL, UPPERCASE, normtty, _pfast; struct _win_st { short _cury, _curx; short _maxy, _maxx; short _begy, _begx; short _flags; short _ch_off; bool _clear; bool _leave; bool _scroll; char **_y; short *_firstch; short *_lastch; struct _win_st *_nextp, *_orig; }; #define WINDOW struct _win_st extern bool My_term, _echoit, _rawmode, _endwin; extern char *Def_term, ttytype[]; extern int LINES, COLS, _tty_ch; #ifdef __POSIX_TERMIOS extern tcflag_t _res_iflg, _res_lflg; #else extern int _res_flg; #endif extern SGTTY _tty; extern WINDOW *stdscr, *curscr; #ifdef __cplusplus extern "C" { #endif #if defined(__STDC__) || defined(__cplusplus) extern int box (WINDOW *, char, char); extern int delwin(WINDOW *); extern int endwin(void); extern char *getcap(char *); extern int gettmode(void); extern void idlok(WINDOW *, int); extern WINDOW * initscr(void); #if 0 extern char * longname(void); #endif extern int mvcur(int, int, int, int); extern int mvprintw(int, int, const char *, ...); extern int mvscanw(int, int, const char *, ...); extern int mvwin(WINDOW *, int, int); extern int mvwprintw(WINDOW *, int, int, const char *, ...); extern int mvwscanw(WINDOW *, int, int, const char *, ...); extern WINDOW * newwin(int, int, int, int); extern int overlay(WINDOW *, WINDOW *); extern int overwrite(WINDOW *, WINDOW *); extern int printw(const char *, ...); extern int scanw(const char *, ...); extern int scroll(WINDOW *); extern int setterm(const char *); extern WINDOW * subwin(WINDOW *, int, int, int, int); extern int touchline(WINDOW *, int, int, int); extern int touchwin(WINDOW *); extern int waddbytes(WINDOW *, const char *, int); extern int waddch(WINDOW *, char); extern int waddstr(WINDOW *, const char *); extern int wclear(WINDOW *); extern int wclrtobot(WINDOW *); extern int wclrtoeol(WINDOW *); extern int wdelch(WINDOW *); extern int wdeleteln(WINDOW *); extern int werase(WINDOW *); extern int wgetch(WINDOW *); /* because it can return KEY_*, for instance */ extern int wgetstr(WINDOW *, char *); extern int winsch(WINDOW *, char); extern int winsertln(WINDOW *); extern int wmove(WINDOW *, int, int); extern int wprintw(WINDOW *, const char *, ...); extern int wrefresh(WINDOW *); extern int wscanw(WINDOW *, const char *, ...); extern char * wstandend(WINDOW *); extern char * wstandout(WINDOW *); #else /* not __STDC__ || __cplusplus */ extern WINDOW * initscr(); extern WINDOW * newwin(); extern WINDOW * subwin(); #if 0 extern char *longname(); #endif extern int wgetch(); /* because it can return KEY_*, for instance. */ #endif /* __STDC__ || __cplusplus */ #ifdef __cplusplus } #endif /* * Define VOID to stop lint from generating "null effect" * comments. */ #ifdef lint int __void__; #define VOID(x) (__void__ = (int) (x)) #else #define VOID(x) (x) #endif /* * psuedo functions for standard screen */ #define addch(ch) VOID(waddch(stdscr, ch)) #define getch() VOID(wgetch(stdscr)) #define addbytes(da,co) VOID(waddbytes(stdscr, da,co)) #define addstr(str) VOID(waddbytes(stdscr, str, strlen(str))) #define getstr(str) VOID(wgetstr(stdscr, str)) #define move(y, x) VOID(wmove(stdscr, y, x)) #define clear() VOID(wclear(stdscr)) #define erase() VOID(werase(stdscr)) #define clrtobot() VOID(wclrtobot(stdscr)) #define clrtoeol() VOID(wclrtoeol(stdscr)) #define insertln() VOID(winsertln(stdscr)) #define deleteln() VOID(wdeleteln(stdscr)) #define refresh() VOID(wrefresh(stdscr)) #define inch() VOID(winch(stdscr)) #define insch(c) VOID(winsch(stdscr,c)) #define delch() VOID(wdelch(stdscr)) #define standout() VOID(wstandout(stdscr)) #define standend() VOID(wstandend(stdscr)) /* * mv functions */ #define mvwaddch(win,y,x,ch) VOID(wmove(win,y,x)==ERR?ERR:waddch(win,ch)) #define mvwgetch(win,y,x) VOID(wmove(win,y,x)==ERR?ERR:wgetch(win)) #define mvwaddbytes(win,y,x,da,co) \ VOID(wmove(win,y,x)==ERR?ERR:waddbytes(win,da,co)) #define mvwaddstr(win,y,x,str) \ VOID(wmove(win,y,x)==ERR?ERR:waddbytes(win,str,strlen(str))) #define mvwgetstr(win,y,x,str) VOID(wmove(win,y,x)==ERR?ERR:wgetstr(win,str)) #define mvwinch(win,y,x) VOID(wmove(win,y,x) == ERR ? ERR : winch(win)) #define mvwdelch(win,y,x) VOID(wmove(win,y,x) == ERR ? ERR : wdelch(win)) #define mvwinsch(win,y,x,c) VOID(wmove(win,y,x) == ERR ? ERR:winsch(win,c)) #define mvaddch(y,x,ch) mvwaddch(stdscr,y,x,ch) #define mvgetch(y,x) mvwgetch(stdscr,y,x) #define mvaddbytes(y,x,da,co) mvwaddbytes(stdscr,y,x,da,co) #define mvaddstr(y,x,str) mvwaddstr(stdscr,y,x,str) #define mvgetstr(y,x,str) mvwgetstr(stdscr,y,x,str) #define mvinch(y,x) mvwinch(stdscr,y,x) #define mvdelch(y,x) mvwdelch(stdscr,y,x) #define mvinsch(y,x,c) mvwinsch(stdscr,y,x,c) /* * psuedo functions */ #define clearok(win,bf) (win->_clear = bf) #define leaveok(win,bf) (win->_leave = bf) #define scrollok(win,bf) (win->_scroll = bf) #define flushok(win,bf) (bf ? (win->_flags |= _FLUSH):(win->_flags &= ~_FLUSH)) #define getyx(win,y,x) y = win->_cury, x = win->_curx #define winch(win) (win->_y[win->_cury][win->_curx] & 0177) #ifdef __POSIX_TERMIOS #define raw() (_tty.c_lflag&=~(ICANON|ISIG),\ _pfast=_rawmode=TRUE, tcsetattr(_tty_ch, TCSANOW, &_tty)) #define noraw() (_tty.c_lflag|=ISIG,_rawmode=FALSE,\ _pfast=(_tty.c_iflag&ICRNL),tcsetattr(_tty_ch, TCSANOW, &_tty)) /* cbreak is like raw, but without turning off signals. */ #define cbreak() (_tty.c_lflag&=~ICANON, \ _rawmode = TRUE, tcsetattr(_tty_ch, TCSANOW, &_tty)) #define nocbreak() (_tty.c_lflag |= ICANON, _tty.c_lflag &= ~ISIG, \ _rawmode=FALSE, tcsetattr(_tty_ch, TCSANOW, &_tty)) #define crmode() cbreak() /* backwards compatability */ #define nocrmode() nocbreak() /* backwards compatability */ #define echo() (_tty.c_lflag |= ECHO, _echoit = TRUE, \ tcsetattr(_tty_ch, TCSADRAIN, &_tty)) #define noecho() (_tty.c_lflag &= ~ECHO, _echoit = FALSE, \ tcsetattr(_tty_ch, TCSADRAIN, &_tty)) #define nl() (_tty.c_iflag |= ICRNL,_pfast = _rawmode, \ _tty.c_oflag |= ONLCR, \ tcsetattr(_tty_ch, TCSANOW, &_tty)) #define nonl() (_tty.c_iflag &= ~ICRNL, _pfast = TRUE, \ _tty.c_oflag &= ~ONLCR, \ tcsetattr(_tty_ch, TCSANOW, &_tty)) #define savetty() ((void) tcgetattr(_tty_ch, &_tty), \ _res_iflg = _tty.c_iflag, _res_lflg = _tty.c_lflag) #define resetty() (_tty.c_iflag = _res_iflg, _tty.c_lflag = _res_lflg,\ _echoit = ((_res_lflg & ECHO) == ECHO), \ _rawmode = ((_res_lflg & (ISIG|ICANON)) != 0), \ _pfast = ((_res_iflg & ICRNL) ? _rawmode : TRUE), \ (void) tcsetattr(_tty_ch, TCSADRAIN, &_tty)) #define erasechar() (_tty.c_cc[VERASE]) #define killchar() (_tty.c_cc[VKILL]) #define baudrate() (cfgetospeed(&_tty)) #else #define raw() (_tty.sg_flags|=RAW, _pfast=_rawmode=TRUE, \ ioctl(_tty_ch, TIOCSETP, &_tty)) #define noraw() (_tty.sg_flags&=~RAW,_rawmode=FALSE,\ _pfast=!(_tty.sg_flags&CRMOD),ioctl(_tty_ch, TIOCSETP, &_tty)) #define cbreak() (_tty.sg_flags |= CBREAK, _rawmode = TRUE, \ ioctl(_tty_ch, TIOCSETP, &_tty)) #define nocbreak() (_tty.sg_flags &= ~CBREAK,_rawmode=FALSE, \ ioctl(_tty_ch, TIOCSETP, &_tty)) #define crmode() cbreak() /* backwards compatability */ #define nocrmode() nocbreak() /* backwards compatability */ #define echo() (_tty.sg_flags |= ECHO, _echoit = TRUE, \ ioctl(_tty_ch, TIOCSETP, &_tty)) #define noecho() (_tty.sg_flags &= ~ECHO, _echoit = FALSE, \ ioctl(_tty_ch, TIOCSETP, &_tty)) #define nl() (_tty.sg_flags |= CRMOD,_pfast = _rawmode, \ ioctl(_tty_ch, TIOCSETP, &_tty)) #define nonl() (_tty.sg_flags &= ~CRMOD, _pfast = TRUE, \ ioctl(_tty_ch, TIOCSETP, &_tty)) #define savetty() ((void) ioctl(_tty_ch, TIOCGETP, &_tty), \ _res_flg = _tty.sg_flags) #define resetty() (_tty.sg_flags = _res_flg, \ _echoit = ((_res_flg & ECHO) == ECHO), \ _rawmode = ((_res_flg & (CBREAK|RAW)) != 0), \ _pfast = ((_res_flg & CRMOD) ? _rawmode : TRUE), \ (void) ioctl(_tty_ch, TIOCSETP, &_tty)) #define erasechar() (_tty.sg_erase) #define killchar() (_tty.sg_kill) #define baudrate() (_tty.sg_ospeed) #endif /* * Used to be in unctrl.h. */ #define unctrl(c) _unctrl[(c) & 0177] extern char *_unctrl[]; #endif #endif /* _CURSES_H */ ./usr/include/dbm.h100644 1676 334 3713 5263127242 12224 0ustar hjlisl/* dbm.h - The include file for dbm users. */ /* This file is part of GDBM, the GNU data base manager, by Philip A. Nelson. Copyright (C) 1990, 1991 Free Software Foundation, Inc. GDBM is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version. GDBM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GDBM; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. You may contact the author by: e-mail: phil@cs.wwu.edu us-mail: Philip A. Nelson Computer Science Department Western Washington University Bellingham, WA 98226 phone: (206) 676-3035 *************************************************************************/ #ifndef _DBM_H #define _DBM_H /* The data and key structure. This structure is defined for compatibility. */ typedef struct { char *dptr; int dsize; } datum; /* These are the routines in dbm. */ #ifdef __STDC__ #ifdef __cplusplus extern "C" { #endif extern int dbminit(const char *__file); extern int store(datum __key, datum __content); extern int delete(datum __key); extern datum fetch(datum); extern datum firstkey(void); extern datum nextkey(datum); #ifdef __cplusplus } #endif #else /* not __STDC__ */ extern int dbminit (); extern int store (); extern int delete (); extern datum fetch(); extern datum firstkey(); extern datum nextkey(); #endif /* To make some versions work we need the following define. */ #define dbmclose() #endif /* _DBM_H */ ./usr/include/dirent.h100644 1676 334 10142 5344751717 12773 0ustar hjlisl/* Copyright (C) 1991, 1992 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the, 1992 Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* * POSIX Standard: 5.1.2 Directory Operations */ #ifndef _DIRENT_H #define _DIRENT_H 1 #include __BEGIN_DECLS #include #define __need_size_t #include #include #include #include #if defined(__USE_GNU) #define d_fileno d_ino /* glibc compatibility. */ #define d_namlen d_reclen /* glibc compatibility. */ #endif /* For now, syscall readdir () only supports one entry at a time. It * will be changed in the future. #define NUMENT 3 */ #ifndef NUMENT #define NUMENT 1 #endif /* Directory stream type. */ typedef struct { int dd_fd; /* file descriptor */ int dd_loc; /* offset in buffer */ int dd_size; /* # of valid entries in buffer */ struct dirent *dd_buf; /* -> directory buffer */ } DIR; /* stream data from opendir() */ /* Open a directory stream on NAME. Return a DIR stream on the directory, or NULL if it could not be opened. */ extern DIR *opendir __P ((__const char *__name)); /* Close the directory stream DIRP. Return 0 if successful, -1 if not. */ extern int closedir __P ((DIR * __dirp)); /* Read a directory entry from DIRP. Return a pointer to a `struct dirent' describing the entry, or NULL for EOF or error. The storage returned may be overwritten by a later readdir call on the same DIR stream. */ extern struct dirent *readdir __P ((DIR * __dirp)); /* Rewind DIRP to the beginning of the directory. */ extern void rewinddir __P ((DIR * __dirp)); #if defined(__USE_BSD) || defined(__USE_MISC) #ifndef MAXNAMLEN /* Get the definitions of the POSIX.1 limits. */ #include /* `MAXNAMLEN' is the BSD name for what POSIX calls `NAME_MAX'. */ #ifdef NAME_MAX #define MAXNAMLEN NAME_MAX #else #define MAXNAMLEN 255 #endif #endif #include /* Seek to position POS on DIRP. */ extern void seekdir __P ((DIR * __dirp, __off_t __pos)); /* Return the current position of DIRP. */ extern __off_t telldir __P ((DIR * __dirp)); typedef int (*__dir_select_fn_t) __P ((__const struct dirent *)); typedef int (*__dir_compar_fn_t) __P (( __const struct dirent * __const *, __const struct dirent * __const * )); /* Scan the directory DIR, calling SELECT on each directory entry. Entries for which SELECT returns nonzero are individually malloc'd, sorted using qsort with CMP, and collected in a malloc'd array in *NAMELIST. Returns the number of entries selected, or -1 on error. */ extern int scandir __P ((__const char *__dir, struct dirent ***__namelist, __dir_select_fn_t __select, __dir_compar_fn_t __compar)); /* Function to compare two `struct dirent's alphabetically. */ extern int alphasort __P (( __const struct dirent * __const *, __const struct dirent * __const * )); /* Read directory entries from FD into BUF, reading at most NBYTES. Reading starts at offset *BASEP, and *BASEP is updated with the new position after reading. Returns the number of bytes read; zero when at end of directory; or -1 for errors. */ extern __ssize_t __getdirentries __P ((int __fd, char *__buf, size_t __nbytes, __off_t *__basep)); extern __ssize_t getdirentries __P ((int __fd, char *__buf, size_t __nbytes, __off_t *__basep)); #endif /* Use BSD or misc. */ __END_DECLS #endif /* dirent.h */ ./usr/include/endian.h100644 1676 334 3023 5424117413 12710 0ustar hjlisl/* Copyright (C) 1992 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef _ENDIAN_H #define _ENDIAN_H 1 #include /* Definitions for byte order, according to significance of bytes, from low addresses to high addresses. The value is what you get by putting '4' in the most significant byte, '3' in the second most significant byte, '2' in the second least significant byte, and '1' in the least significant byte. */ #define __LITTLE_ENDIAN 1234 #define __BIG_ENDIAN 4321 #define __PDP_ENDIAN 3412 /* This file defines `__BYTE_ORDER' for the particular machine. */ #include #ifdef __USE_BSD #define LITTLE_ENDIAN __LITTLE_ENDIAN #define BIG_ENDIAN __BIG_ENDIAN #define PDP_ENDIAN __PDP_ENDIAN #define BYTE_ORDER __BYTE_ORDER #endif #endif /* endian.h */ ./usr/include/errno.h100644 1676 334 572 5505107522 12565 0ustar hjlisl#ifndef _ERRNO_H #define _ERRNO_H #include #include #ifdef __USE_BSD extern int sys_nerr; extern char *sys_errlist[]; #endif #ifdef __USE_GNU extern int _sys_nerr; extern char *_sys_errlist[]; #endif extern int errno; __BEGIN_DECLS extern void perror __P ((__const char* __s)); extern char* strerror __P ((int __errno)); __END_DECLS #endif ./usr/include/fcntl.h100644 1676 334 774 5476405037 12563 0ustar hjlisl#ifndef _FCNTL_H #define _FCNTL_H #include #include #include #ifndef FNDELAY #define FNDELAY O_NDELAY #endif __BEGIN_DECLS extern int creat __P ((__const char * __filename, mode_t __mode)); extern int fcntl __P ((int __fildes,int __cmd, ...)); extern int __fcntl __P ((int __fildes,int __cmd, ...)); extern int open __P ((__const char * __filename, int __flags, ...)); extern int __open __P ((__const char * __filename, int __flags, ...)); __END_DECLS #endif ./usr/include/features.h100644 1676 334 10132 5476375312 13322 0ustar hjlisl/* Copyright (C) 1991, 1992 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef _FEATURES_H #define _FEATURES_H 1 /* These are defined by the user (or the compiler) to specify the desired environment: __STRICT_ANSI__ ANSI Standard C. _POSIX_SOURCE IEEE Std 1003.1. _POSIX_C_SOURCE If ==1, like _POSIX_SOURCE; if ==2 add IEEE Std 1003.2. _BSD_SOURCE ANSI, POSIX, and 4.3BSD things. _SVID_SOURCE ANSI, POSIX, and SVID things. _GNU_SOURCE All of the above, plus GNU extensions. The `-ansi' switch to the GNU C compiler defines __STRICT_ANSI__. If none of these are defined, the default is _GNU_SOURCE. If more than one of these are defined, they accumulate. For example __STRICT_ANSI__, _POSIX_SOURCE and _POSIX_C_SOURCE together give you ANSI C, 1003.1, and 1003.2, but nothing else. These are defined by this file and are used by the header files to decide what to declare or define: __USE_POSIX Define IEEE Std 1003.1 things. __USE_POSIX2 Define IEEE Std 1003.2 things. __USE_BSD Define 4.3BSD things. __USE_SVID Define SVID things. __USE_MISC Define things common to BSD and System V Unix. __USE_GNU Define GNU extensions. __FAVOR_BSD Favor 4.3BSD things in cases of conflict. The macro `__GNU_LIBRARY__' is defined by this file unconditionally. All macros defined by this file are defined as 1. All macros listed above as possibly being defined by this file are explicitly undefined if they are not explicitly defined. Feature-test macros that are not defined by the user or compiler but are implied by the other feature-test macros defined (or by the lack of any definitions) are defined by the file. */ /* Undefine everything, so we get a clean slate. */ #undef __USE_POSIX #undef __USE_POSIX2 #undef __USE_BSD #undef __USE_SVID #undef __USE_MISC #undef __USE_GNU #undef __FAVOR_BSD /* If nothing is defined, define _GNU_SOURCE. */ #if (!defined(_GNU_SOURCE) && !defined(__STRICT_ANSI__) && \ !defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE) && \ !defined(_BSD_SOURCE) && !defined(_SVID_SOURCE)) #define _GNU_SOURCE 1 #endif /* Always use ANSI things. */ #define __USE_ANSI 1 /* If _BSD_SOURCE was defined by the user, favor BSD over POSIX. */ #ifdef _BSD_SOURCE #define __FAVOR_BSD 1 #endif /* If nothing (other than _GNU_SOURCE) is defined, define _BSD_SOURCE and _SVID_SOURCE. */ #if (!defined(__STRICT_ANSI__) && !defined(_POSIX_SOURCE) && \ !defined(_POSIX_C_SOURCE) && !defined(_BSD_SOURCE) && \ !defined(_SVID_SOURCE)) #define _BSD_SOURCE 1 #define _SVID_SOURCE 1 #endif /* If none of the ANSI/POSIX macros are defined, use POSIX.1 and POSIX.2. */ #if (!defined(__STRICT_ANSI__) && !defined(_POSIX_SOURCE) && \ !defined(_POSIX_C_SOURCE)) #define _POSIX_SOURCE 1 #define _POSIX_C_SOURCE 2 #endif #if defined(_POSIX_SOURCE) || _POSIX_C_SOURCE >= 1 #define __USE_POSIX 1 #endif #if defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 2 #define __USE_POSIX2 1 #endif #if defined(_BSD_SOURCE) || defined(_SVID_SOURCE) #define __USE_MISC 1 #endif #ifdef _BSD_SOURCE #define __USE_BSD 1 #endif #ifdef _SVID_SOURCE #define __USE_SVID 1 #endif #ifdef _GNU_SOURCE #define __USE_GNU 1 #endif #undef __GNU_LIBRARY__ #define __GNU_LIBRARY__ 1 /* This is here only because every header file already includes this one. */ #include #endif /* __features.h */ ./usr/include/fnmatch.h100644 1676 334 3333 5433223777 13111 0ustar hjlisl/* Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef _FNMATCH_H #define _FNMATCH_H 1 #include __BEGIN_DECLS /* Bits set in the FLAGS argument to `fnmatch'. */ #define FNM_PATHNAME (1 << 0) /* No wildcard can ever match `/'. */ #define FNM_NOESCAPE (1 << 1) /* Backslashes don't quote special chars. */ #define FNM_PERIOD (1 << 2) /* Leading `.' is matched only explicitly. */ #if !defined (_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 2 || defined (_GNU_SOURCE) #define FNM_FILE_NAME FNM_PATHNAME /* Preferred GNU name. */ #define FNM_LEADING_DIR (1 << 3) /* Ignore `/...' after a match. */ #define FNM_CASEFOLD (1 << 4) /* Compare without regard to case. */ #endif /* Value returned by `fnmatch' if STRING does not match PATTERN. */ #define FNM_NOMATCH 1 /* Match STRING against the filename pattern PATTERN, returning zero if it matches, FNM_NOMATCH if not. */ extern int fnmatch __P ((__const char *__pattern, __const char *__string, int __flags)); __END_DECLS #endif /* fnmatch.h */ ./usr/include/ftw.h100644 1676 334 3011 5330636554 12257 0ustar hjlisl/* Copyright (C) 1992 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ian Lance Taylor (ian@airs.com). The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* * SVID ftw.h */ #ifndef _FTW_H #define _FTW_H 1 #include #ifdef __linux__ #include #else #include #endif /* The FLAG argument to the user function passed to ftw. */ #define FTW_F 0 /* Regular file. */ #define FTW_D 1 /* Directory. */ #define FTW_DNR 2 /* Unreadable directory. */ #define FTW_NS 3 /* Unstatable file. */ __BEGIN_DECLS typedef int (*__ftw_func_t) __P ((__const char *__file, struct stat *__status, int __flag)); /* Call a function on every element in a directory tree. */ extern int ftw __P ((__const char *__dir, __ftw_func_t __func, int __descriptors)); __END_DECLS #endif /* ftw.h */ ./usr/include/gdbm.h100644 1676 334 6763 5306240256 12402 0ustar hjlisl/* gdbm.h - The include file for dbm users. */ /* This file is part of GDBM, the GNU data base manager, by Philip A. Nelson. Copyright (C) 1990, 1991 Free Software Foundation, Inc. GDBM is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version. GDBM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GDBM; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. You may contact the author by: e-mail: phil@cs.wwu.edu us-mail: Philip A. Nelson Computer Science Department Western Washington University Bellingham, WA 98226 phone: (206) 676-3035 *************************************************************************/ #ifndef _GDBM_H /* allow multiple inclusions */ #define _GDBM_H /* Parameters to gdbm_open for READERS, WRITERS, and WRITERS who can create the database. */ #define GDBM_READER 0 /* A reader. */ #define GDBM_WRITER 1 /* A writer. */ #define GDBM_WRCREAT 2 /* A writer. Create the db if needed. */ #define GDBM_NEWDB 3 /* A writer. Always create a new db. */ /* Parameters to gdbm_store for simple insertion or replacement in the case that the key is already in the database. */ #define GDBM_INSERT 0 /* Never replace old data with new. */ #define GDBM_REPLACE 1 /* Always replace old data with new. */ /* The data and key structure. This structure is defined for compatibility. */ typedef struct { char *dptr; int dsize; } datum; /* The file information header. This is good enough for most applications. */ typedef struct {int dummy[10];} *GDBM_FILE; /* These are the routines! */ #ifdef __STDC__ #ifdef __cplusplus extern "C" { #endif typedef void (*__gdb_fatal_func_t) (); extern GDBM_FILE gdbm_open (const char * __file, int __block_size, int __read_write, int __mode, __gdb_fatal_func_t __fatal_func); extern void gdbm_close(GDBM_FILE); extern datum gdbm_fetch(GDBM_FILE, datum); extern datum gdbm_firstkey(GDBM_FILE); extern datum gdbm_nextkey(GDBM_FILE, datum); extern int gdbm_delete(GDBM_FILE, datum); extern int gdbm_store(GDBM_FILE, datum, datum, int); extern int gdbm_reorganize (GDBM_FILE); #ifdef __cplusplus } #endif #else extern GDBM_FILE gdbm_open (); extern void gdbm_close (); extern datum gdbm_fetch (); extern int gdbm_store (); extern int gdbm_delete (); extern datum gdbm_firstkey (); extern datum gdbm_nextkey (); extern int gdbm_reorganize (); #endif /* gdbm sends back the following error codes in the variable gdbm_errno. */ typedef enum { GDBM_NO_ERROR, GDBM_MALLOC_ERROR, GDBM_BLOCK_SIZE_ERROR, GDBM_FILE_OPEN_ERROR, GDBM_FILE_WRITE_ERROR, GDBM_FILE_SEEK_ERROR, GDBM_FILE_READ_ERROR, GDBM_BAD_MAGIC_NUMBER, GDBM_EMPTY_DATABASE, GDBM_CANT_BE_READER, GDBM_CANT_BE_WRITER, GDBM_READER_CANT_DELETE, GDBM_READER_CANT_STORE, GDBM_READER_CANT_REORGANIZE, GDBM_UNKNOWN_UPDATE, GDBM_ITEM_NOT_FOUND, GDBM_REORGANIZE_FAILED, GDBM_CANNOT_REPLACE, GDBM_ILLEGAL_DATA} gdbm_error; extern gdbm_error gdbm_errno; #endif /* _GDBM_H */ ./usr/include/bsd/ 40755 1676 334 0 5545075567 11777 5ustar hjlisl./usr/include/bsd/bsd.h100644 1676 334 1724 5430314730 12776 0ustar hjlisl/* bsd.h - simplify porting BSD programs to Linux - rick sladkey */ /* make sure BSD features are enabled, i.e. __USE_BSD and _FAVOR_BSD */ /* cpp in gcc 2.3.3 is broken. #ifndef _BSD_BSD_H #define _BSD_BSD_H */ #define _BSD_SOURCE #include #include /* some BSD progs expect MIN and MAX to be defined */ #define MIN(a, b) ((a) < (b) ? (a) : (b)) #define MAX(a, b) ((a) > (b) ? (a) : (b)) /* make sure we get L_SET and L_INCR, which is in a different place */ #include /* BSD has slight non-POSIX names (and meanings :-) for some things */ #define FAPPEND O_APPEND /* ftp uses this, I don't remember exactly what is is for :-) */ #define NCARGS 1024 /* ftpd uses this as bits per byte, I don't know why it's called NBBY */ #define NBBY 8 /* gloss over slight differences between BSD direct and POSIX dirent */ #define d_namlen d_reclen #if 0 /* See */ typedef void sig_t; #endif /* #endif _BSD_BSD_H */ ./usr/include/bsd/curses.h100644 1676 334 54 5320245642 13470 0ustar hjlisl#include_next #include ./usr/include/bsd/errno.h100644 1676 334 274 5350032121 13322 0ustar hjlisl/* make sure EWOULDBLOCK doesn't screw us up */ #ifndef _BSD_ERRNO_H #define _BSD_ERRNO_H #include_next #undef EWOULDBLOCK #define EWOULDBLOCK EAGAIN #endif /* _BSD_ERRNO_H */ ./usr/include/bsd/sgtty.h100644 1676 334 4341 5350032173 13375 0ustar hjlisl/* sgtty.h */ /* This file contains defintions to help make linux termios look like bsd sgtty. */ /* Copyright (c) 1992 Ross Biro This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef _BSD_SGTTY_H #define _BSD_SGTTY_H #include #define TIOCGETP 0x5481 #define TIOCSETP 0x5482 #define TIOCGETC 0x5483 #define TIOCSETC 0x5484 #define TIOCGLTC 0x5485 #define TIOCSLTC 0x5486 #define TIOCLGET 0x5487 #define TIOCLSET 0x5488 #define TIOCFLUSH 0x5489 #define TIOCSETN 0x548a struct sgttyb { unsigned short sg_flags; char sg_ispeed; char sg_ospeed; char sg_erase; char sg_kill; struct termios t; int check; }; struct tchars { char t_intrc; char t_quitc; char t_eofc; char t_startc; char t_stopc; char t_brkc; }; struct ltchars { char t_werasc; char t_suspc; char t_dsuspc; char t_rprntc; char t_flushc; char t_lnextc; }; #define O_RAW 1 #define O_LCASE 2 #define O_CRMOD 4 #define O_ECHO 8 #define O_ODDP 16 #define O_EVENP 32 #define O_CBREAK 64 /* these don't do anything yet. */ #define O_TBDELAY 0 #define O_LLITOUT 0 #define O_XTABS 0 #define O_ANYP 0 #ifndef _SGTTY_SOURCE #undef ioctl #define ioctl bsd_ioctl #undef RAW #define RAW O_RAW #undef LCASE #define LCASE O_LCASE #undef ECHO #define ECHO O_ECHO #undef CRMOD #define CRMOD O_CRMOD #undef ODDP #define ODDP O_ODDP #undef EVENP #define EVENP O_EVENP #undef CBREAK #define CBREAK O_CBREAK #undef TBDELAY #define TBDELAY O_TBDELAY #undef LLITOUT #define LLITOUT O_LLITOUT #undef XTABS #define XTABS O_XTABS #undef ANYP #define ANYP O_ANYP #endif #endif /* _BSD_SGTTY_H */ ./usr/include/bsd/signal.h100644 1676 334 1165 5454636306 13516 0ustar hjlisl#ifndef _BSD_SIGNAL_H #define _BSD_SIGNAL_H /* make sure we get BSD style signals (that don't need to be reset) */ #define __USE_BSD_SIGNAL #include_next /* use rough approximation of sigaction to sigvec, not completely safe! */ #define sigvec sigaction #define sv_mask sa_mask #define sv_flags sa_flags #define sv_handler sa_handler #define sv_onstack sa_mask /* ouch, this one really hurts */ /* BSD uses some non-POSIX signals without ifdefs */ #define SIGSYS SIGUNUSED #define SIGBUS SIGUNUSED /* BSD wants this typedef for signal handlers */ #define sig_t __sighandler_t #endif /* _BSD_SIGNAL_H */ ./usr/include/bsd/stdlib.h100644 1676 334 367 5350210623 13466 0ustar hjlisl/* some things shouldn't be macros, get out your barf bag */ #ifndef _BSD_STDLIB_H #define _BSD_STDLIB_H #undef __MALLOC_0_RETURNS_NULL #define __MALLOC_0_RETURNS_NULL #include_next #undef atoi #undef atol #endif /* _BSD_STDLIB_H */ ./usr/include/bsd/sys/ 40755 1676 334 0 5522022373 12573 5ustar hjlisl./usr/include/bsd/sys/ttychars.h100644 1676 334 132 5350033224 14652 0ustar hjlisl#ifndef _BSD_SYS_TTYCHARS_H #define _BSD_SYS_TTYCHARS_H #endif /* _BSD_SYS_TTYCHARS_H */ ./usr/include/bsd/tzfile.h100644 1676 334 200 5350032455 13471 0ustar hjlisl#ifndef _BSD_TZFILE_H #define _BSD_TZFILE_H #define SECSPERDAY (60*60*24) #define DAYSPERNYEAR 365 #endif /* _BSD_TZFILE_H */ ./usr/include/bsd/unistd.h100644 1676 334 130 5350210170 13474 0ustar hjlisl#include_next #include #include #include ./usr/include/getopt.h100644 1676 334 10633 5424556537 13017 0ustar hjlisl/* Declarations for getopt. Copyright (C) 1989, 1990, 1991, 1992, 1993 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef _GETOPT_H #define _GETOPT_H 1 #ifdef __cplusplus extern "C" { #endif /* For communication from `getopt' to the caller. When `getopt' finds an option that takes an argument, the argument value is returned here. Also, when `ordering' is RETURN_IN_ORDER, each non-option ARGV-element is returned here. */ extern char *optarg; /* Index in ARGV of the next element to be scanned. This is used for communication to and from the caller and for communication between successive calls to `getopt'. On entry to `getopt', zero means this is the first call; initialize. When `getopt' returns EOF, this is the index of the first of the non-option elements that the caller should itself scan. Otherwise, `optind' communicates from one call to the next how much of ARGV has been scanned so far. */ extern int optind; /* Callers store zero here to inhibit the error message `getopt' prints for unrecognized options. */ extern int opterr; /* Set to an option character which was unrecognized. */ extern int optopt; /* Describe the long-named options requested by the application. The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector of `struct option' terminated by an element containing a name which is zero. The field `has_arg' is: no_argument (or 0) if the option does not take an argument, required_argument (or 1) if the option requires an argument, optional_argument (or 2) if the option takes an optional argument. If the field `flag' is not NULL, it points to a variable that is set to the value given in the field `val' when the option is found, but left unchanged if the option is not found. To have a long-named option do something other than set an `int' to a compiled-in constant, such as set a value from `optarg', set the option's `flag' field to zero and its `val' field to a nonzero value (the equivalent single-letter option character, if there is one). For long options that have a zero `flag' field, `getopt' returns the contents of the `val' field. */ struct option { #if __STDC__ const char *name; #else char *name; #endif /* has_arg can't be an enum because some compilers complain about type mismatches in all the code that assumes it is an int. */ int has_arg; int *flag; int val; }; /* Names for the values of the `has_arg' field of `struct option'. */ #define no_argument 0 #define required_argument 1 #define optional_argument 2 #if __STDC__ #if defined(__GNU_LIBRARY__) /* Many other libraries have conflicting prototypes for getopt, with differences in the consts, in stdlib.h. To avoid compilation errors, only prototype getopt for the GNU C library. */ extern int getopt (int argc, char *const *argv, const char *shortopts); #else /* not __GNU_LIBRARY__ */ extern int getopt (); #endif /* not __GNU_LIBRARY__ */ extern int getopt_long (int argc, char *const *argv, const char *shortopts, const struct option *longopts, int *longind); extern int getopt_long_only (int argc, char *const *argv, const char *shortopts, const struct option *longopts, int *longind); /* Internal only. Users should not call this directly. */ extern int _getopt_internal (int argc, char *const *argv, const char *shortopts, const struct option *longopts, int *longind, int long_only); #else /* not __STDC__ */ extern int getopt (); extern int getopt_long (); extern int getopt_long_only (); extern int _getopt_internal (); #endif /* not __STDC__ */ #ifdef __cplusplus } #endif #endif /* _GETOPT_H */ ./usr/include/glob.h100644 1676 334 6426 5433224000 12376 0ustar hjlisl/* Copyright (C) 1991, 1992 Free Software Foundation, Inc. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef _GLOB_H #define _GLOB_H 1 #include __BEGIN_DECLS /* Bits set in the FLAGS argument to `glob'. */ #define GLOB_ERR (1 << 0)/* Return on read errors. */ #define GLOB_MARK (1 << 1)/* Append a slash to each name. */ #define GLOB_NOSORT (1 << 2)/* Don't sort the names. */ #define GLOB_DOOFFS (1 << 3)/* Insert PGLOB->gl_offs NULLs. */ #define GLOB_NOCHECK (1 << 4)/* If nothing matches, return the pattern. */ #define GLOB_APPEND (1 << 5)/* Append to results of a previous call. */ #define GLOB_NOESCAPE (1 << 6)/* Backslashes don't quote metacharacters. */ #define GLOB_PERIOD (1 << 7)/* Leading `.' can be matched by metachars. */ #define __GLOB_FLAGS (GLOB_ERR|GLOB_MARK|GLOB_NOSORT|GLOB_DOOFFS| \ GLOB_NOESCAPE|GLOB_NOCHECK|GLOB_APPEND|GLOB_PERIOD) #if !defined (_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 2 || defined (_BSD_SOURCE) #define GLOB_MAGCHAR (1 << 8)/* Set in gl_flags if any metachars seen. */ #endif /* Error returns from `glob'. */ #define GLOB_NOSPACE 1 /* Ran out of memory. */ #define GLOB_ABEND 2 /* Read error. */ #define GLOB_NOMATCH 3 /* No matches found. */ /* Structure describing a globbing run. */ typedef struct { int gl_pathc; /* Count of paths matched by the pattern. */ char **gl_pathv; /* List of matched pathnames. */ int gl_offs; /* Slots to reserve in `gl_pathv'. */ int gl_flags; /* Set to FLAGS, maybe | GLOB_MAGCHAR. */ } glob_t; /* Do glob searching for PATTERN, placing results in PGLOB. The bits defined above may be set in FLAGS. If a directory cannot be opened or read and ERRFUNC is not nil, it is called with the pathname that caused the error, and the `errno' value from the failing call; if it returns non-zero `glob' returns GLOB_ABEND; if it returns zero, the error is ignored. If memory cannot be allocated for PGLOB, GLOB_NOSPACE is returned. Otherwise, `glob' returns zero. */ extern int glob __P ((__const char *__pattern, int __flags, int (*__errfunc)(__const char *, int), glob_t *__pglob)); /* Free storage allocated in PGLOB by a previous `glob' call. */ extern void globfree __P ((glob_t *__pglob)); #if !defined (_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 2 || defined (_GNU_SOURCE) /* If they are not NULL, `glob' uses these functions to read directories. */ extern __ptr_t (*__glob_opendir_hook) __P ((__const char *__directory)); extern __const char *(*__glob_readdir_hook) __P ((__ptr_t __stream)); extern void (*__glob_closedir_hook) __P ((__ptr_t __stream)); #endif __END_DECLS #endif /* glob.h */ ./usr/include/gnu-stabs.h100644 1676 334 5746 5536015350 13374 0ustar hjlisl/* Copyright (C) 1991, 1992 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef __GNU_STABS_H #define __GNU_STABS_H 1 /* We will figure it out later. H.J. */ #if !defined(__PIC__) && !defined(__pic__) #ifndef HAVE_GNU_LD #define HAVE_GNU_LD #endif #endif #ifdef HAVE_GNU_LD /* Alias a function: function_alias(creat, _creat, int, (file, mode), DEFUN(creat, (file, mode), CONST char *file AND int mode)) Yes, this is very repetitive. Nothing you can do about it, so shut up. */ #define function_alias(name, _name, type, args, defun) \ symbol_alias (_name, name); #define function_alias_void(name, _name, args, defun) \ symbol_alias (_name, name); /* Make references to ALIAS refer to SYMBOL. */ #ifdef __STDC__ #define symbol_alias(symbol, alias) \ asm(".stabs \"" "_" #alias "\",11,0,0,0\n"\ ".stabs \"" "_" #symbol "\",1,0,0,0") #else /* Your assembler better grok this right! */ #define symbol_alias(symbol, alias) \ asm(".stabs \"_/**/alias\",11,0,0,0\n.stabs \"_/**/symbol\",1,0,0,0") #endif /* Issue a warning message from the linker whenever SYMBOL is referenced. */ #ifdef __STDC__ #define warn_references(symbol, msg) \ asm(".stabs \"" msg "\",30,0,0,0\n" \ ".stabs \"_" #symbol "\",1,0,0,0") #else #define warn_references(symbol, msg) \ asm(".stabs msg,30,0,0,0\n.stabs \"_/**/symbol\",1,0,0,0") #endif #ifdef __STDC__ #define stub_warning(name) \ warn_references(name, \ "warning: " #name " is not implemented and will always fail") #else #define stub_warning(name) \ warn_references(name, \ "warning: name is not implemented and will always fail") #endif #ifdef __STDC__ #define text_set_element(set, symbol) \ asm(".stabs \"_" #set "\",23,0,0,_" #symbol) #define data_set_element(set, symbol) \ asm(".stabs \"_" #set "\",25,0,0,_" #symbol) #else #define text_set_element(set, symbol) \ asm(".stabs \"_/**/set\",23,0,0,_/**/symbol") #define data_set_element(set, symbol) \ asm(".stabs \"_/**/set\",25,0,0,_/**/symbol") #endif #else /* No GNU stabs. */ #define function_alias(name, _name, type, args, defun) \ type defun { return _name args; } #define function_alias_void(name, _name, args, defun) \ void defun { _name args; } #endif /* GNU stabs. */ #endif /* gnu-stabs.h */ ./usr/include/grp.h100644 1676 334 5547 5476405040 12262 0ustar hjlisl/* Copyright (C) 1991, 1992 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the, 1992 Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* * POSIX Standard: 9.2.1 Group Database Access */ #ifndef _GRP_H #define _GRP_H 1 #include __BEGIN_DECLS #include /* The group structure. */ struct group { char *gr_name; /* Group name. */ char *gr_passwd; /* Password. */ __gid_t gr_gid; /* Group ID. */ char **gr_mem; /* Member list. */ }; #if defined(__USE_SVID) || defined(__USE_GNU) #define __need_FILE #include #endif #ifdef __USE_GNU /* Return a new stream open on the group file. */ extern FILE *__grpopen __P ((void)); /* Read a group entry from STREAM, filling in G. Return the `struct group' of G if successful, NULL on failure. */ extern struct group *__grpread __P ((FILE * __stream, __ptr_t __g)); /* Return a chunk of memory containing pre-initialized data for __grpread. */ extern __ptr_t __grpalloc __P ((void)); #endif #if defined(__USE_SVID) || defined(__USE_MISC) || defined (__USE_BSD) /* Rewind the group-file stream. */ extern void setgrent __P ((void)); /* Close the group-file stream. */ extern void endgrent __P ((void)); /* Read an entry from the group-file stream, opening it if necessary. */ extern struct group *getgrent __P ((void)); #endif #ifdef __USE_SVID /* Read a group entry from STREAM. */ extern struct group *fgetgrent __P ((FILE * __stream)); #endif /* Search for an entry with a matching group ID. */ extern struct group *getgrgid __P ((__gid_t __gid)); /* Search for an entry with a matching group name. */ extern struct group *getgrnam __P ((__const char *__name)); #ifdef __USE_BSD #define __need_size_t #include /* Set the group set for the current user to GROUPS (N of them). */ extern int setgroups __P ((size_t __n, __const __gid_t * __groups)); /* Initialize the group set for the current user by reading the group database and using all groups of which USER is a member. Also include GROUP. */ extern int initgroups __P ((__const char *user, __gid_t __group)); #endif /* Use BSD. */ __END_DECLS #ifdef SHADOW_PWD #include #endif #endif /* grp.h */ ./usr/include/jmp_buf.h100644 1676 334 353 5514305144 13057 0ustar hjlisl#ifndef _JMP_BUF_H #define _JMP_BUF_H #if defined(__i386__) # include #elif defined(__mc68000__) # include #else # error architecture not supported by Linux C library #endif #endif /* _JMP_BUF_H */ ./usr/include/limits.h100644 1676 334 6260 5401442134 12755 0ustar hjlisl/* Copyright (C) 1991, 1992 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* * ANSI Standard: 4.14/2.2.4.2 Limits of integral types */ #ifndef _LIMITS_H #define _LIMITS_H 1 #include #ifdef __USE_POSIX /* POSIX adds things to . */ #include #endif #ifdef __USE_POSIX2 #include #endif /* Only if gcc 2.x is used and -traditional is not used, we can use * #include_next. #if __GNUC__ >= 2 && __STDC__ */ #if __GNUC__ >= 2 /* Have we done that? */ # if !defined(_GCC_LIMITS_H_) && !defined(_GCC_LIMITS_H) /* Get the compiler's limits.h, which defines all the ANSI * constants. */ /* This tells it not to look for another. */ # define _LIBC_LIMITS_H # define _LIBC_LIMITS_H_ # include_next # endif #else /* Not GCC 2. */ /* We don't have #include_next. Define ANSI for standard 32-bit words. */ /* These assume 8-bit `char's, 16-bit `short int's, and 32-bit `int's and `long int's. */ /* Number of bits in a `char'. */ #define CHAR_BIT 8 /* Maximum length of any multibyte character in any locale. Locale-writers should change this as necessary. */ #define MB_LEN_MAX 1 /* Minimum and maximum values a `signed char' can hold. */ #define SCHAR_MIN (-128) #define SCHAR_MAX 127 /* Maximum value an `unsigned char' can hold. (Minimum is 0.) */ #ifdef __STDC__ #define UCHAR_MAX 255U #else #define UCHAR_MAX 255 #endif /* Minimum and maximum values a `char' can hold. */ #ifdef __CHAR_UNSIGNED__ #define CHAR_MIN 0 #define CHAR_MAX UCHAR_MAX #else #define CHAR_MIN SCHAR_MIN #define CHAR_MAX SCHAR_MAX #endif /* Minimum and maximum values a `signed short int' can hold. */ #define SHRT_MIN (-32768) #define SHRT_MAX 32767 /* Maximum value an `unsigned short int' can hold. (Minimum is 0.) */ #define USHRT_MAX 65535 /* Minimum and maximum values a `signed int' can hold. */ #define INT_MIN (- INT_MAX - 1) #define INT_MAX 2147483647 /* Maximum value an `unsigned int' can hold. (Minimum is 0.) */ #ifdef __STDC__ #define UINT_MAX 4294967295U #else #define UINT_MAX 4294967295 #endif /* Minimum and maximum values a `signed long int' can hold. */ #define LONG_MIN INT_MIN #define LONG_MAX INT_MAX /* Maximum value an `unsigned long int' can hold. (Minimum is 0.) */ #define ULONG_MAX UINT_MAX #endif /* GCC 2. */ #ifndef RAND_MAX /* The largest number rand will return (same as INT_MAX). */ #define RAND_MAX INT_MAX #endif #endif /* limits.h */ ./usr/include/linux120777 0 1 0 5522022373 20071 2../../src/linux/include/linuxustar rootdaemon./usr/include/locale.h100644 1676 334 7217 5501760605 12725 0ustar hjlisl/* Copyright (C) 1991, 1992 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the, 1992 Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* * ANSI Standard: 4.4 LOCALIZATION */ #ifndef _LOCALE_H #define _LOCALE_H 1 #include __BEGIN_DECLS /* These are the possibilities for the first argument to setlocale. Note that although they are bit masks, they cannot be OR'd together to form a new argument to pass. They must be used one at a time. */ #define LC_COLLATE (1 << 0) #define LC_CTYPE (1 << 1) #define LC_MONETARY (1 << 2) #define LC_NUMERIC (1 << 3) #define LC_TIME (1 << 4) #define LC_RESPONSE (1 << 5) #define LC_MESSAGES (1 << 6) #define LC_ALL (LC_COLLATE|LC_CTYPE|LC_MONETARY|LC_NUMERIC|LC_TIME|\ LC_RESPONSE|LC_MESSAGES) /* Structure giving information about numeric and monetary notation. */ struct lconv { /* Numeric (non-monetary) information. */ char *decimal_point; /* Decimal point character. */ char *thousands_sep; /* Thousands separator. */ /* Each element is the number of digits in each group; elements with higher indices are farther left. An element with value CHAR_MAX means that no further grouping is done. An element with value 0 means that the previous element is used for all groups farther left. */ char *grouping; /* Monetary information. */ /* First three chars are a currency symbol from ISO 4217. Fourth char is the separator. Fifth char is '\0'. */ char *int_curr_symbol; char *currency_symbol; /* Local currency symbol. */ char *mon_decimal_point; /* Decimal point character. */ char *mon_thousands_sep; /* Thousands separator. */ char *mon_grouping; /* Like `grouping' element (above). */ char *positive_sign; /* Sign for positive values. */ char *negative_sign; /* Sign for negative values. */ char int_frac_digits; /* Int'l fractional digits. */ char frac_digits; /* Local fractional digits. */ /* 1 if currency_symbol precedes a positive value, 0 if succeeds. */ char p_cs_precedes; /* 1 iff a space separates currency_symbol from a positive value. */ char p_sep_by_space; /* 1 if currency_symbol precedes a negative value, 0 if succeeds. */ char n_cs_precedes; /* 1 iff a space separates currency_symbol from a negative value. */ char n_sep_by_space; /* Positive and negative sign positions: 0 Parentheses surround the quantity and currency_symbol. 1 The sign string precedes the quantity and currency_symbol. 2 The sign string succedes the quantity and currency_symbol. 3 The sign string immediately precedes the currency_symbol. 4 The sign string immediately succedes the currency_symbol. */ char p_sign_posn; char n_sign_posn; }; /* Set and/or return the current locale. */ extern char *setlocale __P ((int __category, __const char *__locale)); /* Return the numeric/monetary information for the current locale. */ extern struct lconv *localeconv __P ((void)); __END_DECLS #endif /* locale.h */ ./usr/include/localeinfo.h100644 1676 334 11676 5527724611 13632 0ustar hjlisl/* Copyright (C) 1991, 1992 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the, 1992 Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* Locale-specific information. */ #ifndef _LOCALEINFO_H #define _LOCALEINFO_H 1 #include #define __need_size_t #define __need_wchar_t #include #include /* Change these if the `wchar_t' type is changed. */ #define WCHAR_MAX ((wchar_t) UCHAR_MAX) /* Used by multibyte char functions. */ typedef struct { char *string; /* Bytes. */ size_t len; /* # of bytes. */ long int shift; /* # of mb_char's to shift. */ } mb_char; struct ctype_mbchar_info { size_t mb_max; /* Max MB char length. */ mb_char *mb_chars; /* MB chars. */ }; struct ctype_ctype_info { unsigned short int *ctype_b; /* Characteristics. */ unsigned char *ctype_tolower; /* Case mappings. */ unsigned char *ctype_toupper; /* Case mappings. */ }; struct ctype_info { struct ctype_ctype_info *ctype; struct ctype_mbchar_info *mbchar; }; extern __const struct ctype_info *_ctype_info; /* These are necessary because they are used in a header file. */ extern __const unsigned short int *__ctype_b; extern __const unsigned char *__ctype_tolower; extern __const unsigned char *__ctype_toupper; /* Used by strcoll and strxfrm. */ typedef struct { unsigned char *values; size_t nvalues; } literal_value; typedef struct { union { literal_value literal; /* %%% This may become a regex_t in the future. */ char *regexp; } replace, with; unsigned int regexp:1; } subst; struct collate_info { size_t nsubsts; subst *substs; unsigned char *values; unsigned char *offsets; }; extern __const struct collate_info *_collate_info; /* Used by strtod, atof. */ struct numeric_info { char *decimal_point; char *thousands_sep; char *grouping; }; extern __const struct numeric_info *_numeric_info; /* Used in the return value of localeconv. */ struct monetary_info { char *int_curr_symbol; char *currency_symbol; char *mon_decimal_point; char *mon_thousands_sep; char *mon_grouping; char *positive_sign; char *negative_sign; char int_frac_digits; char frac_digits; char p_cs_precedes; char p_sep_by_space; char n_cs_precedes; char n_sep_by_space; char p_sign_posn; char n_sign_posn; }; extern __const struct monetary_info *_monetary_info; /* Used by strftime, asctime. */ struct time_info { char *abbrev_wkday[7]; /* Short weekday names. */ char *full_wkday[7]; /* Full weekday names. */ char *abbrev_month[12]; /* Short month names. */ char *full_month[12]; /* Full month names. */ char *ampm[2]; /* "AM" and "PM" strings. */ char *date_time; /* Appropriate date and time format. */ char *date; /* Appropriate date format. */ char *time; /* Appropriate time format. */ char *ut0; /* Name for GMT. */ char *tz; /* Default TZ value. */ }; extern __const struct time_info *_time_info; struct response_info { /* Regexp for affirmative answers. */ char *yesexpr; /* Regexp for negative answers. */ char *noexpr; }; extern __const struct response_info *_response_info; /* Locale structure. */ typedef struct { char *name; int categories; unsigned int allocated:1; int subcategories; size_t num_sublocales; struct sub_locale *sublocales; __ptr_t *info; } locale; typedef struct sub_locale { unsigned int pointer:1; int categories; char *name; locale *locale; } sublocale; /* This is the magic number that localeinfo object files begin with. In case you're wondering why I chose the value 0x051472CA, it's because I was born on 05-14-72 in Oakland, CA. */ #define LIMAGIC 0x051472CA /* This is the magic number that precedes each category-specific section of a localeinfo object file. It's the arbitrary magic number above, but modified by the category so that it's different from the per-file magic number and unique for each category. */ #define CATEGORY_MAGIC(x) (LIMAGIC ^ (x)) extern __const char *__lidir, *__lidefault; __BEGIN_DECLS extern locale *__find_locale __P ((int categories, __const char *name)); extern locale *__new_locale __P ((locale *)); extern locale *__localefile __P ((__const char *file)); extern void __free_locale __P ((locale *)); __END_DECLS #endif /* localeinfo.h */ ./usr/include/malloc.h100644 1676 334 7236 5512357712 12741 0ustar hjlisl/* Declarations for `malloc' and friends. Copyright 1990, 1991, 1992 Free Software Foundation, Inc. Written May 1989 by Mike Haertel. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. The author may be reached (Email) at the address mike@ai.mit.edu, or (US mail) as Mike Haertel c/o Free Software Foundation. */ #ifndef _MALLOC_H #define _MALLOC_H 1 #include #ifndef NULL #ifdef __cplusplus #define NULL 0 #else #define NULL ((void *) 0) #endif #endif #ifdef __STDC__ #include #else #undef size_t #define size_t unsigned int #undef ptrdiff_t #define ptrdiff_t int #endif /* For backward compatibilities and X11R5 */ #if (defined(MALLOC_0_RETURNS_NULL) || defined(NO_FIX_MALLOC)) \ && !defined(__MALLOC_0_RETURNS_NULL) #define __MALLOC_0_RETURNS_NULL #endif __BEGIN_DECLS #if defined(_STDLIB_H) && !defined(__MALLOC_0_RETURNS_NULL) /* Allocate SIZE bytes of memory. */ static void * malloc __P ((size_t __size)); /* Allocate NMEMB elements of SIZE bytes each, all initialized to 0. */ static void * calloc __P ((size_t __nmemb, size_t __size)); #else /* Allocate SIZE bytes of memory. */ extern __ptr_t malloc __P ((size_t __size)); /* Allocate NMEMB elements of SIZE bytes each, all initialized to 0. */ extern __ptr_t calloc __P ((size_t __nmemb, size_t __size)); #endif /* Re-allocate the previously allocated block in __ptr_t, making the new block SIZE bytes long. */ extern __ptr_t realloc __P ((__ptr_t __ptr, size_t __size)); /* Free a block allocated by `malloc', `realloc' or `calloc'. */ extern void free __P ((__ptr_t __ptr)); /* Allocate SIZE bytes allocated to ALIGNMENT bytes. */ extern __ptr_t memalign __P ((size_t __alignment, size_t __size)); /* Allocate SIZE bytes on a page boundary. */ extern __ptr_t valloc __P ((size_t __size)); /* Underlying allocation function; successive calls should return contiguous pieces of memory. */ extern __ptr_t (*__morecore) __P ((ptrdiff_t __size)); /* Default value of `__morecore'. */ extern __ptr_t __default_morecore __P ((ptrdiff_t __size)); /* Nonzero if `malloc' has been called and done its initialization. */ extern int __malloc_initialized; /* Hooks for debugging versions. */ extern void (*__free_hook) __P ((__ptr_t __ptr)); extern __ptr_t (*__malloc_hook) __P ((size_t __size)); extern __ptr_t (*__realloc_hook) __P ((__ptr_t __ptr, size_t __size)); /* Activate a standard collection of debugging hooks. */ extern void mcheck __P ((void (*__func)(void))); /* Activate a standard collection of tracing hooks. */ extern void mtrace __P ((void)); /* Statistics available to the user. */ struct mstats { size_t bytes_total; /* Total size of the heap. */ size_t chunks_used; /* Chunks allocated by the user. */ size_t bytes_used; /* Byte total of user-allocated chunks. */ size_t chunks_free; /* Chunks in the free list. */ size_t bytes_free; /* Byte total of chunks in the free list. */ }; /* Pick up the current statistics. */ extern struct mstats mstats __P ((void)); __END_DECLS #endif /* malloc.h */ ./usr/include/math.h100644 1676 334 14132 5542372121 12426 0ustar hjlisl/* The header contains prototypes for mathematical functions * for Linux. */ #ifndef _MATH_H #define _MATH_H #include __BEGIN_DECLS extern __CONSTVALUE double acos __P ((double __x)) __CONSTVALUE2; extern __CONSTVALUE double acosh __P ((double __x)) __CONSTVALUE2; extern __CONSTVALUE double asin __P ((double __x)) __CONSTVALUE2; extern __CONSTVALUE double asinh __P ((double __x)) __CONSTVALUE2; extern __CONSTVALUE double atan __P ((double __x)) __CONSTVALUE2; extern __CONSTVALUE double atan2 __P ((double __y, double __x)) __CONSTVALUE2; extern __CONSTVALUE double atanh __P ((double __x)) __CONSTVALUE2; extern __CONSTVALUE double ceil __P ((double __x)) __CONSTVALUE2; extern __CONSTVALUE double cos __P ((double __x)) __CONSTVALUE2; extern __CONSTVALUE double cosh __P ((double __x)) __CONSTVALUE2; extern __CONSTVALUE double drem __P ((double __x, double __y)) __CONSTVALUE2; extern __CONSTVALUE double exp __P ((double __x)) __CONSTVALUE2; extern __CONSTVALUE double fabs __P ((double __x)) __CONSTVALUE2; extern __CONSTVALUE double floor __P ((double __x)) __CONSTVALUE2; extern __CONSTVALUE double fmod __P ((double __x, double __y)) __CONSTVALUE2; extern __CONSTVALUE double hypot __P ((double __x, double __y)) __CONSTVALUE2; extern double frexp __P ((double __x, int *__exp)); extern __CONSTVALUE double ldexp __P ((double __x, int __exp)) __CONSTVALUE2; extern __CONSTVALUE double log __P ((double __x)) __CONSTVALUE2; extern __CONSTVALUE double log10 __P ((double __x)) __CONSTVALUE2; extern double modf __P ((double __x, double *__iptr)); extern __CONSTVALUE double pow __P ((double __x, double __y)) __CONSTVALUE2; extern __CONSTVALUE double pow2 __P ((double __x)) __CONSTVALUE2; extern __CONSTVALUE double pow10 __P ((double __x)) __CONSTVALUE2; extern __CONSTVALUE double sin __P ((double __x)) __CONSTVALUE2; extern __CONSTVALUE double sinh __P ((double __x)) __CONSTVALUE2; extern __CONSTVALUE double sqrt __P ((double __x)) __CONSTVALUE2; extern __CONSTVALUE double tan __P ((double __x)) __CONSTVALUE2; extern __CONSTVALUE double tanh __P ((double __x)) __CONSTVALUE2; extern __CONSTVALUE double erf __P ((double __x)) __CONSTVALUE2; extern __CONSTVALUE double erfc __P ((double __x)) __CONSTVALUE2; extern __CONSTVALUE double j0 __P ((double __x)) __CONSTVALUE2; extern __CONSTVALUE double j1 __P ((double __x)) __CONSTVALUE2; extern __CONSTVALUE double jn __P ((int __n, double __x)) __CONSTVALUE2; extern __CONSTVALUE double lgamma __P ((double __x)) __CONSTVALUE2; extern __CONSTVALUE double y0 __P ((double __x)) __CONSTVALUE2; extern __CONSTVALUE double y1 __P ((double __x)) __CONSTVALUE2; extern __CONSTVALUE double yn __P ((int __n, double __x)) __CONSTVALUE2; /* Some new functions */ extern __CONSTVALUE double expm1 __P ((double __x)) __CONSTVALUE2; extern __CONSTVALUE double log1p __P ((double __x)) __CONSTVALUE2; extern __CONSTVALUE double cbrt __P ((double __x)) __CONSTVALUE2; /* Return if VALUE is finite or NaN, +1 if it is +Infinity, -1 if it is -Infinity. */ extern __CONSTVALUE int __isinf __P ((double __value)) __CONSTVALUE2; /* Return nonzero if VALUE is not a number. */ extern __CONSTVALUE int __isnan __P ((double __value)) __CONSTVALUE2; /* Return nonzero if VALUE is finite and not NaN. */ extern __CONSTVALUE int __finite __P ((double __value)) __CONSTVALUE2; #ifdef __OPTIMIZE__ #define __finite(value) (!__isinf (value) && !__isnan (value)) #endif /* Deal with an infinite or NaN result. If ERROR is ERANGE, result is +Inf; if ERROR is - ERANGE, result is -Inf; otherwise result is NaN. This will set `errno' to either ERANGE or EDOM, and may return an infinity or NaN, or may do something else. */ extern double __infnan __P ((int __error)); /* Return X with its signed changed to Y's. */ extern __CONSTVALUE double __copysign __P ((double __x, double __y)) __CONSTVALUE2; #ifdef __USE_MISC /* Return the integer nearest X in the direction of the prevailing rounding mode. */ extern __CONSTVALUE double __rint __P ((double __x)) __CONSTVALUE2; extern __CONSTVALUE double rint __P ((double __x)) __CONSTVALUE2; extern __CONSTVALUE int isinf __P ((double __value)) __CONSTVALUE2; extern __CONSTVALUE int isnan __P ((double __value)) __CONSTVALUE2; extern __CONSTVALUE int finite __P ((double __value)) __CONSTVALUE2; extern __CONSTVALUE double infnan __P ((int __error)) __CONSTVALUE2; extern __CONSTVALUE double copysign __P ((double __x, double __y)) __CONSTVALUE2; #ifdef __OPTIMIZE__ #define isinf(value) __isinf(value) #define isnan(value) __isnan(value) #define infnan(error) __infnan(error) #define finite(value) __finite(value) #define copysign(x, y) __copysign((x), (y)) #endif /* Optimizing. */ #endif /* Use misc. */ __END_DECLS extern int signgam; /* Get machine-dependent HUGE_VAL value (returned on overflow). */ #include /* Get machine-dependent NAN value (returned for some domain errors). */ #ifdef __USE_GNU #include #endif #include #include #ifndef HUGE #define HUGE DBL_MAX #endif #ifndef HUGE_VAL #define HUGE_VAL DBL_MAX #endif #ifndef M_E #define M_E 2.7182818284590452354 #endif #ifndef M_LOG2E #define M_LOG2E 1.4426950408889634074 #endif #ifndef M_LOG10E #define M_LOG10E 0.43429448190325182765 #endif #ifndef M_LN2 #define M_LN2 0.69314718055994530942 #endif #ifndef M_LN10 #define M_LN10 2.30258509299404568402 #endif #ifndef M_PI #define M_PI 3.14159265358979323846 #endif #ifndef M_PI_2 #define M_PI_2 1.57079632679489661923 #endif #ifndef M_1_PI #define M_1_PI 0.31830988618379067154 #endif #ifndef M_PI_4 #define M_PI_4 0.78539816339744830962 #endif #ifndef M_2_PI #define M_2_PI 0.63661977236758134308 #endif #ifndef M_2_SQRTPI #define M_2_SQRTPI 1.12837916709551257390 #endif #ifndef M_SQRT2 #define M_SQRT2 1.41421356237309504880 #endif #ifndef M_SQRT1_2 #define M_SQRT1_2 0.70710678118654752440 #endif #ifndef PI /* as in stroustrup */ #define PI M_PI #endif #ifndef PI2 #define PI2 M_PI_2 #endif #if defined(__mc68000__) # include #endif #endif /* _MATH_H */ ./usr/include/memory.h100644 1676 334 24 5263127260 12722 0ustar hjlisl#include ./usr/include/mntent.h100644 1676 334 2434 5527731544 12777 0ustar hjlisl#ifndef _MNTENT_H #define _MNTENT_H #include #define MNTTAB "/etc/fstab" #define MOUNTED "/etc/mtab" #define MNTMAXSTR 512 #define MNTTYPE_SWAP "swap" /* Swap device */ #define MNTTYPE_IGNORE "ignore" /* Ignore this entry */ /* generic mount options */ #define MNTOPT_DEFAULTS "defaults" /* use all default opts */ #define MNTOPT_RO "ro" /* read only */ #define MNTOPT_RW "rw" /* read/write */ #define MNTOPT_SUID "suid" /* set uid allowed */ #define MNTOPT_NOSUID "nosuid" /* no set uid allowed */ #define MNTOPT_NOAUTO "noauto" /* don't auto mount */ /* minix specific options */ /* none defined yet */ /* swap specific options */ /* none defined yet */ __BEGIN_DECLS struct mntent{ char *mnt_fsname; char *mnt_dir; char *mnt_type; char *mnt_opts; int mnt_freq; int mnt_passno; }; __END_DECLS #define __need_file #include __BEGIN_DECLS extern FILE *setmntent __P ((__const char *__filep, __const char *__type)); extern struct mntent *getmntent __P ((FILE *__filep)); extern int addmntent __P ((FILE *__filep, __const struct mntent *__mnt)); extern char *hasmntopt __P ((__const struct mntent *__mnt, __const char *__opt)); extern int endmntent __P ((FILE *__filep)); __END_DECLS #endif /* _MNTENT_H */ ./usr/include/ndbm.h100644 1676 334 4636 5263127261 12410 0ustar hjlisl/* ndbm.h - The include file for ndbm users. */ /* This file is part of GDBM, the GNU data base manager, by Philip A. Nelson. Copyright (C) 1990, 1991 Free Software Foundation, Inc. GDBM is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version. GDBM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GDBM; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. You may contact the author by: e-mail: phil@cs.wwu.edu us-mail: Philip A. Nelson Computer Science Department Western Washington University Bellingham, WA 98226 phone: (206) 676-3035 *************************************************************************/ #ifndef _NDBM_H /* allow multiple inclusions */ #define _NDBM_H /* Parameters to dbm_store for simple insertion or replacement. */ #define DBM_INSERT 0 #define DBM_REPLACE 1 /* The data and key structure. This structure is defined for compatibility. */ typedef struct { char *dptr; int dsize; } datum; /* The file information header. This is good enough for most applications. */ typedef struct {int dummy[10];} DBM; /* These are the routines (with some macros defining them!) */ #ifdef __STDC__ #ifdef __cplusplus extern "C" { #endif extern DBM *dbm_open(const char *, int, int); extern void dbm_close(DBM *); extern datum dbm_fetch(DBM *, datum); extern datum dbm_firstkey(DBM *); extern datum dbm_nextkey(DBM *); extern int dbm_delete(DBM *, datum); extern int dbm_store(DBM *, datum, datum, int); extern int dbm_dirfno (DBM *); extern int dbm_pagfno (DBM *); #ifdef __cplusplus } #endif #else extern DBM *dbm_open(); extern void dbm_close(); extern datum dbm_fetch(); extern datum dbm_firstkey(); extern datum dbm_nextkey(); extern int dbm_delete(); extern int dbm_store(); extern int dbm_dirfno (); extern int dbm_pagfno (); #endif #define dbm_error(dbf) 0 #define dbm_clearerr(dbf) #endif /* _NDBM_H */ ./usr/include/netdb.h100644 1676 334 12035 5344753505 12602 0ustar hjlisl/*- * Copyright (c) 1980, 1983, 1988 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. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the University of * California, Berkeley and its contributors. * 4. 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. * * @(#)netdb.h 5.15 (Berkeley) 4/3/91 */ #ifndef _NETDB_H_ #define _NETDB_H_ #include #define _PATH_HEQUIV __PATH_ETC_INET"/hosts.equiv" #define _PATH_HOSTS __PATH_ETC_INET"/hosts" #define _PATH_NETWORKS __PATH_ETC_INET"/networks" #define _PATH_PROTOCOLS __PATH_ETC_INET"/protocols" #define _PATH_SERVICES __PATH_ETC_INET"/services" #define _PATH_RESCONF __PATH_ETC_INET"/resolv.conf" #define _PATH_RPC __PATH_ETC_INET"/rpc" /* * Structures returned by network data base library. All addresses are * supplied in host order, and returned in network order (suitable for * use in system calls). */ struct hostent { __const char *h_name; /* official name of host */ char **h_aliases; /* alias list */ int h_addrtype; /* host address type */ int h_length; /* length of address */ char **h_addr_list; /* list of addresses from name server */ #define h_addr h_addr_list[0] /* address, for backward compatiblity */ }; /* * Assumption here is that a network number * fits in 32 bits -- probably a poor one. */ struct netent { char *n_name; /* official name of net */ char **n_aliases; /* alias list */ int n_addrtype; /* net address type */ unsigned long n_net; /* network # */ }; struct servent { char *s_name; /* official service name */ char **s_aliases; /* alias list */ int s_port; /* port # */ char *s_proto; /* protocol to use */ }; struct protoent { char *p_name; /* official protocol name */ char **p_aliases; /* alias list */ int p_proto; /* protocol # */ }; struct rpcent { char *r_name; /* name of server for this rpc program */ char **r_aliases; /* alias list */ int r_number; /* rpc program number */ }; /* * Error return codes from gethostbyname() and gethostbyaddr() * (left in extern int h_errno). */ #define HOST_NOT_FOUND 1 /* Authoritative Answer Host not found */ #define TRY_AGAIN 2 /* Non-Authoritive Host not found, or SERVERFAIL */ #define NO_RECOVERY 3 /* Non recoverable errors, FORMERR, REFUSED, NOTIMP */ #define NO_DATA 4 /* Valid name, no data record of requested type */ #define NO_ADDRESS NO_DATA /* no address, look for MX record */ #include __BEGIN_DECLS void endhostent __P((void)); void endnetent __P((void)); void endprotoent __P((void)); void endservent __P((void)); void endrpcent __P ((void)); struct hostent *gethostbyaddr __P((__const char *, int, int)); struct hostent *gethostbyname __P((__const char *)); struct hostent *gethostent __P((void)); struct netent *getnetbyaddr __P((int, int)); /* u_long? */ struct netent *getnetbyname __P((__const char *)); struct netent *getnetent __P((void)); struct protoent *getprotobyname __P((__const char *)); struct protoent *getprotobynumber __P((int)); struct protoent *getprotoent __P((void)); struct servent *getservbyname __P((__const char *, __const char *)); struct servent *getservbyport __P((int, __const char *)); struct servent *getservent __P((void)); struct rpcent *getrpcent __P((void)); struct rpcent *getrpcbyname __P((__const char *)); struct rpcent *getrpcbynumber __P((int)); void herror __P((__const char *)); void sethostent __P((int)); /* void sethostfile __P((__const char *)); */ void setnetent __P((int)); void setprotoent __P((int)); void setservent __P((int)); void setrpcent __P((int)); __END_DECLS #endif /* !_NETDB_H_ */ ./usr/include/nlist.h100644 1676 334 2621 5266200545 12611 0ustar hjlisl/* Copyright (C) 1991, 1992 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the, 1992 Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef _NLIST_H #define _NLIST_H 1 #include __BEGIN_DECLS #if 0 /* Structure describing a symbol-table entry. */ struct nlist { char *n_name; unsigned char n_type; char n_other; short int n_desc; unsigned long int n_value; }; #define N_NLIST_DECLARED #endif #include /* Search the executable FILE for symbols matching those in NL, which is terminated by an element with a NULL `n_un.n_name' member, and fill in the elements of NL. */ extern int nlist __P ((__const char *__file, struct nlist * __nl)); __END_DECLS #endif /* nlist.h */ ./usr/include/paths.h100644 1676 334 6247 5550051027 12602 0ustar hjlisl/* * Copyright (c) 1989 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. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the University of * California, Berkeley and its contributors. * 4. 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. * * @(#)paths.h 5.15 (Berkeley) 5/29/91 */ #ifndef _PATHS_H_ #define _PATHS_H_ #if 0 #define __PATH_ETC_INET "/usr/etc/inet" #else #define __PATH_ETC_INET "/etc" #endif /* Default search path. */ #define _PATH_DEFPATH "/usr/local/bin:/usr/bin:/bin:." #define _PATH_DEFPATH_ROOT "/sbin:/bin:/usr/sbin:/usr/bin" #define _PATH_BSHELL "/bin/sh" #define _PATH_CONSOLE "/dev/console" #define _PATH_CSHELL "/bin/csh" #define _PATH_DEVDB "/var/run/dev.db" #define _PATH_DEVNULL "/dev/null" #define _PATH_DRUM "/dev/drum" #define _PATH_KMEM "/dev/kmem" #define _PATH_MAILDIR "/var/spool/mail" #define _PATH_MAN "/usr/man" #define _PATH_MEM "/dev/mem" #define _PATH_LOGIN "/bin/login" #define _PATH_NOLOGIN "/etc/nologin" #define _PATH_SENDMAIL "/usr/sbin/sendmail" #define _PATH_TTY "/dev/tty" #define _PATH_UNIX "/vmlinux" #define _PATH_VI "/usr/bin/vi" /* Provide trailing slash, since mostly used for building pathnames. */ #define _PATH_DEV "/dev/" #define _PATH_TMP "/tmp/" #define _PATH_VARRUN "/var/run/" #define _PATH_VARTMP "/var/tmp/" #define _PATH_KLOG "/proc/kmsg" #define _PATH_LOGCONF __PATH_ETC_INET"/syslog.conf" #define _PATH_LOGPID __PATH_ETC_INET"/syslog.pid" #define _PATH_LOG "/dev/log" #define _PATH_CONSOLE "/dev/console" #define _PATH_UTMP "/etc/utmp" #define _PATH_WTMP "/var/adm/wtmp" #define _PATH_LASTLOG "/var/adm/lastlog" #define _PATH_LOCALE "/usr/lib/locale" #endif /* !_PATHS_H_ */ ./usr/include/posix1_lim.h100644 1676 334 5123 5270575501 13546 0ustar hjlisl/* Copyright (C) 1991, 1992 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* * POSIX Standard: 2.9.2 Minimum Values Added to */ #ifndef _POSIX1_LIMITS_H #define _POSIX1_LIMITS_H 1 /* These are the standard-mandated minimum values. */ /* Maximum length of arguments to `execve', including environment. */ #define _POSIX_ARG_MAX 4096 /* Maximum simultaneous processes per real user ID. */ #define _POSIX_CHILD_MAX 6 /* Maximum link count of a file. */ #define _POSIX_LINK_MAX 8 /* Number of bytes in a terminal canonical input queue. */ #define _POSIX_MAX_CANON 255 /* Number of bytes for which space will be available in a terminal input queue. */ #define _POSIX_MAX_INPUT 255 /* Number of simultaneous supplementary group IDs per process. */ #define _POSIX_NGROUPS_MAX 0 /* Number of files one process can have open at once. */ #define _POSIX_OPEN_MAX 16 /* Number of bytes in a filename. */ #define _POSIX_NAME_MAX 14 /* Number of bytes in a pathname. */ #define _POSIX_PATH_MAX 255 /* Number of bytes than can be written atomically to a pipe. */ #define _POSIX_PIPE_BUF 512 /* Largest value of a `ssize_t'. */ #define _POSIX_SSIZE_MAX 32767 /* Number of streams a process can have open at once. */ #define _POSIX_STREAM_MAX 8 /* Number of bytes in `tzname'. */ #define _POSIX_TZNAME_MAX 3 /* Get the implementation-specific values for the above. */ #include /* don't even think about changing it without checking tzfile.h * in source code dir ./time first. */ #undef TZNAME_MAX #define TZNAME_MAX 50 #ifndef SSIZE_MAX #define SSIZE_MAX INT_MAX #endif #ifndef STREAM_MAX #define STREAM_MAX OPEN_MAX #endif /* This value is a guaranteed minimum maximum. The current maximum can be got from `sysconf'. */ #ifndef NGROUPS_MAX #define NGROUPS_MAX _POSIX_NGROUPS_MAX #endif #endif /* posix1_limits.h */ ./usr/include/posix2_lim.h100644 1676 334 5170 5330636614 13551 0ustar hjlisl/* Copyright (C) 1991 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef _POSIX2_LIMITS_H #define _POSIX2_LIMITS_H 1 /* The maximum `ibase' and `obase' values allowed by the `bc' utility. */ #define _POSIX2_BC_BASE_MAX 99 /* The maximum number of elements allowed in an array by the `bc' utility. */ #define _POSIX2_BC_DIM_MAX 2048 /* The maximum `scale' value allowed by the `bc' utility. */ #define _POSIX2_BC_SCALE_MAX 99 /* The maximum length of a string constant accepted by the `bc' utility. */ #define _POSIX2_BC_STRING_MAX 1000 /* The maximum number of weights that can be assigned to an entry of the LC_COLLATE category `order' keyword in a locale definition. */ #define _POSIX2_EQUIV_CLASS_MAX 2 /* The maximum number of expressions that can be nested within parentheses by the `expr' utility. */ #define _POSIX2_EXPR_NEST_MAX 32 /* The maximum length, in bytes, of an input line. */ #define _POSIX2_LINE_MAX 2048 /* The maximum number of repeated occurrences of a regular expression permitted when using the interval notation `\{M,N\}'. */ #define _POSIX2_RE_DUP_MAX 255 /* These values are implementation-specific, and may vary within the implementation. Their precise values can be obtained from sysconf. */ #ifndef BC_BASE_MAX #define BC_BASE_MAX _POSIX2_BC_BASE_MAX #endif #ifndef BC_DIM_MAX #define BC_DIM_MAX _POSIX2_BC_DIM_MAX #endif #ifndef BC_SCALE_MAX #define BC_SCALE_MAX _POSIX2_BC_SCALE_MAX #endif #ifndef BC_STRING_MAX #define BC_STRING_MAX _POSIX2_BC_STRING_MAX #endif #ifndef EQUIV_CLASS_MAX #define EQUIV_CLASS_MAX _POSIX2_EQUIV_CLASS_MAX #endif #ifndef EXPR_NEST_MAX #define EXPR_NEST_MAX _POSIX2_EXPR_NEST_MAX #endif #ifndef LINE_MAX #define LINE_MAX _POSIX2_LINE_MAX #endif #ifndef RE_DUP_MAX #ifdef __linux__ /* see regex.h */ #define RE_DUP_MAX ((1 << 15) - 1) #else #define RE_DUP_MAX _POSIX2_RE_DUP_MAX #endif #endif #endif /* posix2_limits.h */ ./usr/include/posix_opt.h100644 1676 334 574 5270346537 13500 0ustar hjlisl#ifndef _POSIX_OPT_H #define _POSIX_OPT_H /* only root can do a chown (I think..) */ #define _POSIX_CHOWN_RESTRICTED 1 /* no pathname truncation (but see in kernel) */ #define _POSIX_NO_TRUNC 1 /* character to disable things like ^C */ #define _POSIX_VDISABLE '\0' #define _POSIX_JOB_CONTROL 1 /* Implemented, for whatever good it is */ #define _POSIX_SAVED_IDS 1 #endif ./usr/include/pwd.h100644 1676 334 5301 5476405040 12250 0ustar hjlisl/* Copyright (C) 1991, 1992 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the, 1992 Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* * POSIX Standard: 9.2.2 User Database Access */ #ifndef _PWD_H #define _PWD_H 1 #include __BEGIN_DECLS #include /* The passwd structure. */ struct passwd { char *pw_name; /* Username. */ char *pw_passwd; /* Password. */ __uid_t pw_uid; /* User ID. */ __gid_t pw_gid; /* Group ID. */ char *pw_gecos; /* Real name. */ char *pw_dir; /* Home directory. */ char *pw_shell; /* Shell program. */ }; #if defined(__USE_SVID) || defined(__USE_GNU) #define __need_FILE #include #endif #ifdef __USE_GNU /* Return a new stream open on the password file. */ extern FILE *__pwdopen __P ((void)); /* Read a password entry from STREAM, filling in P. Return the `struct passwd' of P if successful, NULL on failure. */ extern struct passwd *__pwdread __P ((FILE * __stream, __ptr_t __p)); /* Return a chunk of memory containing pre-initialized data for __pwdread. */ extern __ptr_t __pwdalloc __P ((void)); #endif #if defined(__USE_SVID) || defined(__USE_MISC) /* Rewind the password-file stream. */ extern void setpwent __P ((void)); /* Close the password-file stream. */ extern void endpwent __P ((void)); /* Read an entry from the password-file stream, opening it if necessary. */ extern struct passwd *getpwent __P ((void)); /* get name from UID and put it into BUF. */ extern int getpw __P ((__uid_t __uid, char *__buf)); #endif #ifdef __USE_SVID /* Read an entry from STREAM. */ extern struct passwd *fgetpwent __P ((FILE * __stream)); /* Write the given entry onto the given stream. */ extern int putpwent __P ((__const struct passwd * __p, FILE * __f)); #endif /* Search for an entry with a matching user ID. */ extern struct passwd *getpwuid __P ((__uid_t __uid)); /* Search for an entry with a matching username. */ extern struct passwd *getpwnam __P ((__const char *__name)); __END_DECLS #endif /* pwd.h */ ./usr/include/regex.h100755 1676 334 45630 5527062577 12637 0ustar hjlisl/* Definitions for data structures and routines for the regular expression library, version 0.12. Copyright (C) 1985, 1989, 1990, 1991, 1992, 1993 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef __REGEXP_LIBRARY_H__ #define __REGEXP_LIBRARY_H__ /* POSIX says that must be included (by the caller) before . */ #ifdef VMS /* VMS doesn't have `size_t' in , even though POSIX says it should be there. */ #include #endif /* The following two types have to be signed and unsigned integer type wide enough to hold a value of a pointer. For most ANSI compilers ptrdiff_t and size_t should be likely OK. Still size of these two types is 2 for Microsoft C. Ugh... */ typedef long s_reg_t; typedef unsigned long active_reg_t; /* The following bits are used to determine the regexp syntax we recognize. The set/not-set meanings are chosen so that Emacs syntax remains the value 0. The bits are given in alphabetical order, and the definitions shifted by one from the previous bit; thus, when we add or remove a bit, only one other definition need change. */ typedef unsigned long reg_syntax_t; /* If this bit is not set, then \ inside a bracket expression is literal. If set, then such a \ quotes the following character. */ #define RE_BACKSLASH_ESCAPE_IN_LISTS (1L) /* If this bit is not set, then + and ? are operators, and \+ and \? are literals. If set, then \+ and \? are operators and + and ? are literals. */ #define RE_BK_PLUS_QM (RE_BACKSLASH_ESCAPE_IN_LISTS << 1) /* If this bit is set, then character classes are supported. They are: [:alpha:], [:upper:], [:lower:], [:digit:], [:alnum:], [:xdigit:], [:space:], [:print:], [:punct:], [:graph:], and [:cntrl:]. If not set, then character classes are not supported. */ #define RE_CHAR_CLASSES (RE_BK_PLUS_QM << 1) /* If this bit is set, then ^ and $ are always anchors (outside bracket expressions, of course). If this bit is not set, then it depends: ^ is an anchor if it is at the beginning of a regular expression or after an open-group or an alternation operator; $ is an anchor if it is at the end of a regular expression, or before a close-group or an alternation operator. This bit could be (re)combined with RE_CONTEXT_INDEP_OPS, because POSIX draft 11.2 says that * etc. in leading positions is undefined. We already implemented a previous draft which made those constructs invalid, though, so we haven't changed the code back. */ #define RE_CONTEXT_INDEP_ANCHORS (RE_CHAR_CLASSES << 1) /* If this bit is set, then special characters are always special regardless of where they are in the pattern. If this bit is not set, then special characters are special only in some contexts; otherwise they are ordinary. Specifically, * + ? and intervals are only special when not after the beginning, open-group, or alternation operator. */ #define RE_CONTEXT_INDEP_OPS (RE_CONTEXT_INDEP_ANCHORS << 1) /* If this bit is set, then *, +, ?, and { cannot be first in an re or immediately after an alternation or begin-group operator. */ #define RE_CONTEXT_INVALID_OPS (RE_CONTEXT_INDEP_OPS << 1) /* If this bit is set, then . matches newline. If not set, then it doesn't. */ #define RE_DOT_NEWLINE (RE_CONTEXT_INVALID_OPS << 1) /* If this bit is set, then . doesn't match NUL. If not set, then it does. */ #define RE_DOT_NOT_NULL (RE_DOT_NEWLINE << 1) /* If this bit is set, nonmatching lists [^...] do not match newline. If not set, they do. */ #define RE_HAT_LISTS_NOT_NEWLINE (RE_DOT_NOT_NULL << 1) /* If this bit is set, either \{...\} or {...} defines an interval, depending on RE_NO_BK_BRACES. If not set, \{, \}, {, and } are literals. */ #define RE_INTERVALS (RE_HAT_LISTS_NOT_NEWLINE << 1) /* If this bit is set, +, ? and | aren't recognized as operators. If not set, they are. */ #define RE_LIMITED_OPS (RE_INTERVALS << 1) /* If this bit is set, newline is an alternation operator. If not set, newline is literal. */ #define RE_NEWLINE_ALT (RE_LIMITED_OPS << 1) /* If this bit is set, then `{...}' defines an interval, and \{ and \} are literals. If not set, then `\{...\}' defines an interval. */ #define RE_NO_BK_BRACES (RE_NEWLINE_ALT << 1) /* If this bit is set, (...) defines a group, and \( and \) are literals. If not set, \(...\) defines a group, and ( and ) are literals. */ #define RE_NO_BK_PARENS (RE_NO_BK_BRACES << 1) /* If this bit is set, then \ matches . If not set, then \ is a back-reference. */ #define RE_NO_BK_REFS (RE_NO_BK_PARENS << 1) /* If this bit is set, then | is an alternation operator, and \| is literal. If not set, then \| is an alternation operator, and | is literal. */ #define RE_NO_BK_VBAR (RE_NO_BK_REFS << 1) /* If this bit is set, then an ending range point collating higher than the starting range point, as in [z-a], is invalid. If not set, then when ending range point collates higher than the starting range point, the range is ignored. */ #define RE_NO_EMPTY_RANGES (RE_NO_BK_VBAR << 1) /* If this bit is set, then an unmatched ) is ordinary. If not set, then an unmatched ) is invalid. */ #define RE_UNMATCHED_RIGHT_PAREN_ORD (RE_NO_EMPTY_RANGES << 1) /* If this bit is set, do not process the GNU regex operators. IF not set, then the GNU regex operators are recognized. */ #define RE_NO_GNU_OPS (RE_UNMATCHED_RIGHT_PAREN_ORD << 1) /* This global variable defines the particular regexp syntax to use (for some interfaces). When a regexp is compiled, the syntax used is stored in the pattern buffer, so changing this does not affect already-compiled regexps. */ extern reg_syntax_t re_syntax_options; /* Define combinations of the above bits for the standard possibilities. (The [[[ comments delimit what gets put into the Texinfo file, so don't delete them!) */ /* [[[begin syntaxes]]] */ #define RE_SYNTAX_EMACS 0 #define RE_SYNTAX_AWK \ (RE_BACKSLASH_ESCAPE_IN_LISTS | RE_DOT_NOT_NULL \ | RE_NO_BK_PARENS | RE_NO_BK_REFS \ | RE_NO_BK_VBAR | RE_NO_EMPTY_RANGES \ | RE_UNMATCHED_RIGHT_PAREN_ORD | RE_NO_GNU_OPS) #define RE_SYNTAX_GNU_AWK \ (RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS) #define RE_SYNTAX_POSIX_AWK \ (RE_SYNTAX_GNU_AWK | RE_NO_GNU_OPS) #define RE_SYNTAX_GREP \ (RE_BK_PLUS_QM | RE_CHAR_CLASSES \ | RE_HAT_LISTS_NOT_NEWLINE | RE_INTERVALS \ | RE_NEWLINE_ALT) #define RE_SYNTAX_EGREP \ (RE_CHAR_CLASSES | RE_CONTEXT_INDEP_ANCHORS \ | RE_CONTEXT_INDEP_OPS | RE_HAT_LISTS_NOT_NEWLINE \ | RE_NEWLINE_ALT | RE_NO_BK_PARENS \ | RE_NO_BK_VBAR) #define RE_SYNTAX_POSIX_EGREP \ (RE_SYNTAX_EGREP | RE_INTERVALS | RE_NO_BK_BRACES) /* P1003.2/D11.2, section 4.20.7.1, lines 5078ff. */ #define RE_SYNTAX_ED RE_SYNTAX_POSIX_BASIC #define RE_SYNTAX_SED RE_SYNTAX_POSIX_BASIC /* Syntax bits common to both basic and extended POSIX regex syntax. */ #define _RE_SYNTAX_POSIX_COMMON \ (RE_CHAR_CLASSES | RE_DOT_NEWLINE | RE_DOT_NOT_NULL \ | RE_INTERVALS | RE_NO_EMPTY_RANGES) #define RE_SYNTAX_POSIX_BASIC \ (_RE_SYNTAX_POSIX_COMMON | RE_BK_PLUS_QM) /* Differs from ..._POSIX_BASIC only in that RE_BK_PLUS_QM becomes RE_LIMITED_OPS, i.e., \? \+ \| are not recognized. Actually, this isn't minimal, since other operators, such as \`, aren't disabled. */ #define RE_SYNTAX_POSIX_MINIMAL_BASIC \ (_RE_SYNTAX_POSIX_COMMON | RE_LIMITED_OPS) #define RE_SYNTAX_POSIX_EXTENDED \ (_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS \ | RE_CONTEXT_INDEP_OPS | RE_NO_BK_BRACES \ | RE_NO_BK_PARENS | RE_NO_BK_VBAR \ | RE_UNMATCHED_RIGHT_PAREN_ORD) /* Differs from ..._POSIX_EXTENDED in that RE_CONTEXT_INVALID_OPS replaces RE_CONTEXT_INDEP_OPS and RE_NO_BK_REFS is added. */ #define RE_SYNTAX_POSIX_MINIMAL_EXTENDED \ (_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS \ | RE_CONTEXT_INVALID_OPS | RE_NO_BK_BRACES \ | RE_NO_BK_PARENS | RE_NO_BK_REFS \ | RE_NO_BK_VBAR | RE_UNMATCHED_RIGHT_PAREN_ORD) /* [[[end syntaxes]]] */ /* Maximum number of duplicates an interval can allow. Some systems (erroneously) define this in other header files, but we want our value, so remove any previous define. */ #ifdef RE_DUP_MAX #undef RE_DUP_MAX #endif /* if sizeof(int) == 2, then ((1 << 15) - 1) overflows */ #define RE_DUP_MAX (0x7fff) /* POSIX `cflags' bits (i.e., information for `regcomp'). */ /* If this bit is set, then use extended regular expression syntax. If not set, then use basic regular expression syntax. */ #define REG_EXTENDED 1 /* If this bit is set, then ignore case when matching. If not set, then case is significant. */ #define REG_ICASE (REG_EXTENDED << 1) /* If this bit is set, then anchors do not match at newline characters in the string. If not set, then anchors do match at newlines. */ #define REG_NEWLINE (REG_ICASE << 1) /* If this bit is set, then report only success or fail in regexec. If not set, then returns differ between not matching and errors. */ #define REG_NOSUB (REG_NEWLINE << 1) /* POSIX `eflags' bits (i.e., information for regexec). */ /* If this bit is set, then the beginning-of-line operator doesn't match the beginning of the string (presumably because it's not the beginning of a line). If not set, then the beginning-of-line operator does match the beginning of the string. */ #define REG_NOTBOL 1 /* Like REG_NOTBOL, except for the end-of-line. */ #define REG_NOTEOL (1 << 1) /* If any error codes are removed, changed, or added, update the `re_error_msg' table in regex.c. */ typedef enum { REG_NOERROR = 0, /* Success. */ REG_NOMATCH, /* Didn't find a match (for regexec). */ /* POSIX regcomp return error codes. (In the order listed in the standard.) */ REG_BADPAT, /* Invalid pattern. */ REG_ECOLLATE, /* Not implemented. */ REG_ECTYPE, /* Invalid character class name. */ REG_EESCAPE, /* Trailing backslash. */ REG_ESUBREG, /* Invalid back reference. */ REG_EBRACK, /* Unmatched left bracket. */ REG_EPAREN, /* Parenthesis imbalance. */ REG_EBRACE, /* Unmatched \{. */ REG_BADBR, /* Invalid contents of \{\}. */ REG_ERANGE, /* Invalid range end. */ REG_ESPACE, /* Ran out of memory. */ REG_BADRPT, /* No preceding re for repetition op. */ /* Error codes we've added. */ REG_EEND, /* Premature end. */ REG_ESIZE, /* Compiled pattern bigger than 2^16 bytes. */ REG_ERPAREN /* Unmatched ) or \); not returned from regcomp. */ } reg_errcode_t; /* This data structure represents a compiled pattern. Before calling the pattern compiler, the fields `buffer', `allocated', `fastmap', `translate', and `no_sub' can be set. After the pattern has been compiled, the `re_nsub' field is available. All other fields are private to the regex routines. */ struct re_pattern_buffer { /* [[[begin pattern_buffer]]] */ /* Space that holds the compiled pattern. It is declared as `unsigned char *' because its elements are sometimes used as array indexes. */ unsigned char *buffer; /* Number of bytes to which `buffer' points. */ unsigned long allocated; /* Number of bytes actually used in `buffer'. */ unsigned long used; /* Syntax setting with which the pattern was compiled. */ reg_syntax_t syntax; /* Pointer to a fastmap, if any, otherwise zero. re_search uses the fastmap, if there is one, to skip over impossible starting points for matches. */ char *fastmap; /* Either a translate table to apply to all characters before comparing them, or zero for no translation. The translation is applied to a pattern when it is compiled and to a string when it is matched. */ char *translate; /* Number of subexpressions found by the compiler. */ size_t re_nsub; /* Zero if this pattern cannot match the empty string, one else. Well, in truth it's used only in `re_search_2', to see whether or not we should use the fastmap, so we don't set this absolutely perfectly; see `re_compile_fastmap' (the `duplicate' case). */ unsigned can_be_null : 1; /* If REGS_UNALLOCATED, allocate space in the `regs' structure for `max (RE_NREGS, re_nsub + 1)' groups. If REGS_REALLOCATE, reallocate space if necessary. If REGS_FIXED, use what's there. */ #define REGS_UNALLOCATED 0 #define REGS_REALLOCATE 1 #define REGS_FIXED 2 unsigned regs_allocated : 2; /* Set to zero when `regex_compile' compiles a pattern; set to one by `re_compile_fastmap' if it updates the fastmap. */ unsigned fastmap_accurate : 1; /* If set, `re_match_2' does not return information about subexpressions. */ unsigned no_sub : 1; /* If set, a beginning-of-line anchor doesn't match at the beginning of the string. */ unsigned not_bol : 1; /* Similarly for an end-of-line anchor. */ unsigned not_eol : 1; /* If true, an anchor at a newline matches. */ unsigned newline_anchor : 1; /* [[[end pattern_buffer]]] */ }; typedef struct re_pattern_buffer regex_t; /* search.c (search_buffer) in Emacs needs this one opcode value. It is defined both in `regex.c' and here. */ #define RE_EXACTN_VALUE 1 /* Type for byte offsets within the string. POSIX mandates this. */ typedef int regoff_t; /* This is the structure we store register match data in. See regex.texinfo for a full description of what registers match. */ struct re_registers { unsigned num_regs; regoff_t *start; regoff_t *end; }; /* If `regs_allocated' is REGS_UNALLOCATED in the pattern buffer, `re_match_2' returns information about at least this many registers the first time a `regs' structure is passed. */ #ifndef RE_NREGS #define RE_NREGS 30 #endif /* POSIX specification for registers. Aside from the different names than `re_registers', POSIX uses an array of structures, instead of a structure of arrays. */ typedef struct { regoff_t rm_so; /* Byte offset from string's start to substring's start. */ regoff_t rm_eo; /* Byte offset from string's start to substring's end. */ } regmatch_t; /* Declarations for routines. */ /* To avoid duplicating every routine declaration -- once with a prototype (if we are ANSI), and once without (if we aren't) -- we use the following macro to declare argument types. This unfortunately clutters up the declarations a bit, but I think it's worth it. */ #ifdef __STDC__ #define _RE_ARGS(args) args #else /* not __STDC__ */ #define _RE_ARGS(args) () #endif /* not __STDC__ */ /* Sets the current default syntax to SYNTAX, and return the old syntax. You can also simply assign to the `re_syntax_options' variable. */ extern reg_syntax_t re_set_syntax _RE_ARGS ((reg_syntax_t syntax)); /* Compile the regular expression PATTERN, with length LENGTH and syntax given by the global `re_syntax_options', into the buffer BUFFER. Return NULL if successful, and an error string if not. */ extern const char *re_compile_pattern _RE_ARGS ((const char *pattern, size_t length, struct re_pattern_buffer *buffer)); /* Compile a fastmap for the compiled pattern in BUFFER; used to accelerate searches. Return 0 if successful and -2 if was an internal error. */ extern int re_compile_fastmap _RE_ARGS ((struct re_pattern_buffer *buffer)); /* Search in the string STRING (with length LENGTH) for the pattern compiled into BUFFER. Start searching at position START, for RANGE characters. Return the starting position of the match, -1 for no match, or -2 for an internal error. Also return register information in REGS (if REGS and BUFFER->no_sub are nonzero). */ extern int re_search _RE_ARGS ((struct re_pattern_buffer *buffer, const char *string, int length, int start, int range, struct re_registers *regs)); /* Like `re_search', but search in the concatenation of STRING1 and STRING2. Also, stop searching at index START + STOP. */ extern int re_search_2 _RE_ARGS ((struct re_pattern_buffer *buffer, const char *string1, int length1, const char *string2, int length2, int start, int range, struct re_registers *regs, int stop)); /* Like `re_search', but return how many characters in STRING the regexp in BUFFER matched, starting at position START. */ extern int re_match _RE_ARGS ((struct re_pattern_buffer *buffer, const char *string, int length, int start, struct re_registers *regs)); /* Relates to `re_match' as `re_search_2' relates to `re_search'. */ extern int re_match_2 _RE_ARGS ((struct re_pattern_buffer *buffer, const char *string1, int length1, const char *string2, int length2, int start, struct re_registers *regs, int stop)); /* Set REGS to hold NUM_REGS registers, storing them in STARTS and ENDS. Subsequent matches using BUFFER and REGS will use this memory for recording register information. STARTS and ENDS must be allocated with malloc, and must each be at least `NUM_REGS * sizeof (regoff_t)' bytes long. If NUM_REGS == 0, then subsequent matches should allocate their own register data. Unless this function is called, the first search or match using PATTERN_BUFFER will allocate its own register data, without freeing the old data. */ extern void re_set_registers _RE_ARGS ((struct re_pattern_buffer *buffer, struct re_registers *regs, unsigned num_regs, regoff_t *starts, regoff_t *ends)); /* 4.2 bsd compatibility. */ extern char *re_comp _RE_ARGS ((const char *)); extern int re_exec _RE_ARGS ((const char *)); /* POSIX compatibility. */ extern int regcomp _RE_ARGS ((regex_t *preg, const char *pattern, int cflags)); extern int regexec _RE_ARGS ((const regex_t *preg, const char *string, size_t nmatch, regmatch_t pmatch[], int eflags)); extern size_t regerror _RE_ARGS ((int errcode, const regex_t *preg, char *errbuf, size_t errbuf_size)); extern void regfree _RE_ARGS ((regex_t *preg)); #endif /* not __REGEXP_LIBRARY_H__ */ /* Local variables: make-backup-files: t version-control: t trim-versions-without-asking: nil End: */ ./usr/include/resolv.h100644 1676 334 13007 5347232322 13010 0ustar hjlisl/* * Copyright (c) 1983, 1987, 1989 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. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the University of * California, Berkeley and its contributors. * 4. 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. * * @(#)resolv.h 5.15 (Berkeley) 4/3/91 */ #ifndef _RESOLV_H_ #define _RESOLV_H_ /* * Resolver configuration file. * Normally not present, but may contain the address of the * inital name server(s) to query and the domain search list. */ #include #ifndef _PATH_RESCONF #define _PATH_RESCONF __PATH_ETC_INET"/resolv.conf" #endif /* * Global defines and variables for resolver stub. */ #define MAXNS 3 /* max # name servers we'll track */ #define MAXDFLSRCH 3 /* # default domain levels to try */ #define MAXDNSRCH 6 /* max # domains in search path */ #define LOCALDOMAINPARTS 2 /* min levels in name that is "local" */ #define RES_TIMEOUT 5 /* min. seconds between retries */ struct state { int retrans; /* retransmition time interval */ int retry; /* number of times to retransmit */ long options; /* option flags - see below. */ int nscount; /* number of name servers */ struct sockaddr_in nsaddr_list[MAXNS]; /* address of name server */ #define nsaddr nsaddr_list[0] /* for backward compatibility */ u_short id; /* current packet id */ char defdname[MAXDNAME]; /* default domain */ char *dnsrch[MAXDNSRCH+1]; /* components of domain to search */ }; /* * Resolver options */ #define RES_INIT 0x0001 /* address initialized */ #define RES_DEBUG 0x0002 /* print debug messages */ #define RES_AAONLY 0x0004 /* authoritative answers only */ #define RES_USEVC 0x0008 /* use virtual circuit */ #define RES_PRIMARY 0x0010 /* query primary server only */ #define RES_IGNTC 0x0020 /* ignore trucation errors */ #define RES_RECURSE 0x0040 /* recursion desired */ #define RES_DEFNAMES 0x0080 /* use default domain name */ #define RES_STAYOPEN 0x0100 /* Keep TCP socket open */ #define RES_DNSRCH 0x0200 /* search up local domain tree */ #define RES_DEFAULT (RES_RECURSE | RES_DEFNAMES | RES_DNSRCH) extern struct state _res; extern int h_errno; #include #include /* Private routines shared between libc/net, named, nslookup and others. */ #if 0 #define dn_skipname __dn_skipname #define fp_query __fp_query #define hostalias __hostalias #define putlong __putlong #define putshort __putshort #define p_class __p_class #define p_time __p_time #define p_type __p_type #endif __BEGIN_DECLS #if 0 int __dn_skipname __P ((u_char *__comp_dn, u_char *__eom)); void __fp_query __P((char *, FILE *)); char *__hostalias __P((__const char *)); void __putlong __P((u_long, u_char *)); void __putshort __P((u_short, u_char *)); char *__p_class __P((int)); char *__p_time __P((u_long)); char *__p_type __P((int)); #else int dn_skipname __P ((u_char *__comp_dn, u_char *__eom)); void fp_query __P((char *, FILE *)); char *hostalias __P((__const char *)); void putlong __P((u_long, u_char *)); void putshort __P((u_short, u_char *)); char *p_class __P((int)); char *p_time __P((u_long)); char *p_type __P((int)); #endif int dn_comp __P((u_char *__exp_dn, u_char *__comp_dn, int __length, u_char **__dnptrs, u_char **__lastdnptr)); int dn_expand __P ((u_char *__msg, u_char *__eomorig, u_char *__comp_dn, u_char *__exp_dn, int __length)); int res_init __P((void)); int res_mkquery __P ((int __op, __const char *__dname, int __class, int __type, char *__data, int __datalen, struct rrec *__newrr, char *__buf, int __buflen)); int res_send __P ((__const char *__msg, int __msglen, char *__answer, int __anslen)); int res_query __P ((__const char *__dname, int __class, int __type, u_char *__answer, int __anslen)); int res_search __P ((__const char *__dname, int __class, int __type, u_char *__answer, int __anslen)); int res_querydomain __P ((__const char *__name, __const char *__domain, int __class, int __type, u_char *__answer, int __anslen)); void herror __P((__const char *__s)); __END_DECLS #endif /* !_RESOLV_H_ */ ./usr/include/setjmp.h100644 1676 334 7630 5476375313 13000 0ustar hjlisl/* Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the, 1992 Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* * ANSI Standard: 4.6 NON-LOCAL JUMPS */ #ifndef _SETJMP_H #define _SETJMP_H 1 #include __BEGIN_DECLS /* Get the machine-dependent definition of `__jmp_buf'. */ #include #ifdef __USE_POSIX #define __need_sigset_t #include /* Calling environment, plus possibly a saved signal mask. */ typedef struct { __jmp_buf __jmpbuf; /* Calling environment. */ int __mask_was_saved; /* Saved the signal mask? */ sigset_t __saved_mask; /* Saved signal mask. */ } sigjmp_buf[1]; /* Store the calling environment in ENV, also saving the signal mask if SAVEMASK is nonzero. Return 0. */ extern void __sigjmp_save __P ((sigjmp_buf __env, int __savemask)); #ifdef __GNUC__ #define sigsetjmp(env, savemask) \ ({ __typeof ((*((sigjmp_buf *) 0))[0]) *__e = (env); \ __sigjmp_save (__e, (savemask)); \ __setjmp (__e[0].__jmpbuf); }) #else /* Not strictly POSIX-compliant, because it evaluates ENV more than once. */ #define sigsetjmp(env, savemask) \ (__sigjmp_save ((env), (savemask)), __setjmp ((env)[0].__jmpbuf)) #endif /* Jump to the environment saved in ENV, making the sigsetjmp call there return VAL, or 1 if VAL is 0. Restore the signal mask if that sigsetjmp call saved it. */ extern __NORETURN void siglongjmp __P ((__const sigjmp_buf __env, int __val)) __NORETURN2; #endif /* Use POSIX. */ #ifdef __FAVOR_BSD /* BSD defines `setjmp' and `longjmp' to save and restore the set of blocked signals. For this, `jmp_buf' must be what POSIX calls `sigjmp_buf', which includes that information. */ typedef sigjmp_buf jmp_buf; #else /* Don't favor BSD. */ /* A `jmp_buf' really is a `jmp_buf'. Oh boy. */ typedef __jmp_buf jmp_buf; #endif /* Favor BSD. */ /* Jump to the environment saved in ENV, making the setjmp call there return VAL, or 1 if VAL is 0. */ extern __NORETURN void __longjmp __P ((__const __jmp_buf __env, int __val)) __NORETURN2; extern __NORETURN void longjmp __P ((__const jmp_buf __env, int __val)) __NORETURN2; #ifdef __OPTIMIZE__ #define longjmp(env, val) __longjmp ((env), (val)) #endif /* Optimizing. */ /* Set ENV to the current position and return 0. */ extern int __setjmp __P ((__jmp_buf __env)); /* The ANSI C standard says `setjmp' is a macro. */ #define setjmp(env) __setjmp (env) #ifdef __USE_BSD extern void __NORETURN _longjmp __P ((__const jmp_buf __env, int __val)) __NORETURN2; #endif /* Use BSD. */ #ifdef __FAVOR_BSD /* We are in the mode in which `setjmp' and `longjmp' save and restore the signal mask, and `jmp_buf' is `sigjmp_buf'. */ #undef setjmp #undef longjmp #define setjmp(env) sigsetjmp ((env), 1) #ifdef __OPTIMIZE__ #define longjmp(env, val) siglongjmp ((env), (val)) #endif /* Optimizing. */ #define _setjmp(env) sigsetjmp ((env), 0) #else /* Don't favor BSD. */ /* `setjmp' and `_setjmp' are the same. */ #define _setjmp(env) setjmp (env) /* `longjmp' and `_longjmp' are the same. */ #define _longjmp(env, val) longjmp ((env), (val)) #endif /* Favor BSD. */ __END_DECLS #endif /* setjmp.h */ ./usr/include/nl_types.h100644 1676 334 3767 5544105052 13325 0ustar hjlisl#ifndef __nl_typesh #define __nl_typesh /*********************************************************** Copyright 1990, by Alfalfa Software Incorporated, Cambridge, Massachusetts. All Rights Reserved Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that Alfalfa's name not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. ALPHALPHA DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL ALPHALPHA BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. If you make any modifications, bugfixes or other changes to this software we'd appreciate it if you could send a copy to us so we can keep things up-to-date. Many thanks. Kee Hinckley Alfalfa Software, Inc. 267 Allston St., #3 Cambridge, MA 02139 USA nazgul@alfalfa.com ******************************************************************/ #define NL_SETD 0 #include typedef long nl_catd; typedef long nl_item; /* These should be publicly available */ extern nl_catd catopen __P((char *, int)); extern char *catgets __P((nl_catd, int, int, char *)); extern int catclose __P((nl_catd)); #define MCLoadBySet 0 /* Load entire sets as they are used */ #define MCLoadAll 1 /* Load entire DB on catopen */ extern char *MCAppPath; /* Additional search path for strings (appended) */ #ifdef _LIBC #include "nls_libc.h" extern nl_catd _libc_cat; void libc_nls_init(void); #endif #endif ./usr/include/sharedlib.h100644 1676 334 576 5263127270 13404 0ustar hjlisl#ifndef _SHAREDLIB_H #define _SHAREDLIB_H struct libentry { char *name; char *avers; unsigned addr; unsigned vers; }; #define QUOTED(x) #x #define MAJOR_MASK 0x0fff0000 #define MINOR_MASK 0x0000ffff #define VERSION_MASK 0x0fffffff #define CLASSIC_BIT 0x10000000 #define data_set_element(set, symbol) \ asm(".stabs \"_" #set "\",24,0,0,_" QUOTED(symbol)) #endif ./usr/include/stdio.h100644 1676 334 12570 5505107451 12624 0ustar hjlisl/* This is part of the iostream/stdio library, providing -*- C -*- I/O. Define ANSI C stdio on top of C++ iostreams. Copyright (C) 1991 Per Bothner. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef _STDIO_H #define _STDIO_H #undef _STDIO_USES_IOSTREAM #define _STDIO_USES_IOSTREAM 1 #ifdef __linux__ #include #endif #include #ifndef NULL #ifdef __cplusplus #define NULL 0 #else #define NULL (void*)0 #endif #endif #ifndef EOF #define EOF (-1) #endif #ifndef BUFSIZ #define BUFSIZ 1024 #endif #define _IOFBF 0 /* Fully buffered. */ #define _IOLBF 1 /* Line buffered. */ #define _IONBF 2 /* No buffering. */ #define SEEK_SET 0 #define SEEK_CUR 1 #define SEEK_END 2 /* define size_t. Crud in case has defined it. */ #if !defined(_SIZE_T) && !defined(_T_SIZE_) && !defined(_T_SIZE) #if !defined(__SIZE_T) && !defined(_SIZE_T_) && !defined(___int_size_t_h) #if !defined(_GCC_SIZE_T) && !defined(_SIZET_) #define _SIZE_T #define _T_SIZE_ #define _T_SIZE #define __SIZE_T #define _SIZE_T_ #define ___int_size_t_h #define _GCC_SIZE_T #define _SIZET_ typedef _IO_size_t size_t; #endif #endif #endif typedef struct _IO_FILE FILE; typedef _IO_fpos_t fpos_t; #define FOPEN_MAX _G_FOPEN_MAX #define FILENAME_MAX _G_FILENAME_MAX /* limited by the number of possible unique combinations. see * libio/iotempname.c for details. */ #define TMP_MAX 238328 #define L_ctermid 9 #define L_cuserid 9 #define P_tmpdir "/tmp" #define L_tmpnam 20 /* For use by debuggers. These are linked in if printf or fprintf are used. */ extern FILE *stdin, *stdout, *stderr; /* TODO */ #define stdin _IO_stdin #define stdout _IO_stdout #define stderr _IO_stderr __BEGIN_DECLS extern void clearerr __P((FILE*)); extern int fclose __P((FILE*)); extern int feof __P((FILE*)); extern int ferror __P((FILE*)); extern int fflush __P((FILE*)); extern int fgetc __P((FILE *)); extern int fgetpos __P((FILE* fp, fpos_t *pos)); extern char* fgets __P((char*, int, FILE*)); extern FILE* fopen __P((__const char*, __const char*)); extern int fprintf __P((FILE*, __const char* format, ...)); extern int fputc __P((int, FILE*)); extern int fputs __P((__const char *str, FILE *fp)); extern size_t fread __P((void*, size_t, size_t, FILE*)); extern FILE* freopen __P((__const char*, __const char*, FILE*)); extern int fscanf __P((FILE *fp, __const char* format, ...)); extern int fseek __P((FILE* fp, long int offset, int whence)); extern int fsetpos __P((FILE* fp, __const fpos_t *pos)); extern long int ftell __P((FILE* fp)); extern size_t fwrite __P((__const void*, size_t, size_t, FILE*)); extern int getc __P((FILE *)); extern int getchar __P((void)); extern char* gets __P((char*)); extern void perror __P((__const char *)); extern int printf __P((__const char* format, ...)); extern int putc __P((int, FILE *)); extern int putchar __P((int)); extern int puts __P((__const char *str)); extern int remove __P((__const char*)); extern int rename __P((__const char* _old, __const char* _new)); extern void rewind __P((FILE*)); extern int scanf __P((__const char* format, ...)); extern void setbuf __P((FILE*, char*)); extern void setlinebuf __P((FILE*)); extern void setbuffer __P((FILE*, char*, int)); extern int setvbuf __P((FILE*, char*, int mode, size_t size)); extern int sprintf __P((char*, __const char* format, ...)); extern int sscanf __P((__const char* string, __const char* format, ...)); extern FILE* tmpfile __P((void)); extern char* tmpnam __P((char*)); extern int ungetc __P((int c, FILE* fp)); extern int vfprintf __P((FILE *fp, char __const *fmt0, _G_va_list)); extern int vprintf __P((char __const *fmt, _G_va_list)); extern int vsprintf __P((char* string, __const char* format, _G_va_list)); #if !defined(__STRICT_ANSI__) || defined(_POSIX_SOURCE) extern FILE *fdopen __P((int, __const char *)); extern int fileno __P((FILE*)); extern FILE* popen __P((__const char*, __const char*)); extern int pclose __P((FILE*)); #endif #if !defined(__STRICT_ANSI__) extern int getw __P((FILE*)); extern int putw __P((int, FILE*)); extern char* tempnam __P((__const char *__dir, __const char *__pfx)); #ifdef __GNU_LIBRARY__ #ifdef __USE_BSD extern int sys_nerr; extern char *sys_errlist[]; #endif #ifdef __USE_GNU extern int _sys_nerr; extern char *_sys_errlist[]; #endif #ifdef __USE_MISC /* Print a message describing the meaning of the given signal number. */ extern void psignal __P ((int __sig, __const char *__s)); #endif /* Non strict ANSI and not POSIX only. */ #endif /* __GNU_LIBRARY__ */ #endif /* __STRICT_ANSI__ */ extern int __underflow __P((struct _IO_FILE*)); extern int __overflow __P((struct _IO_FILE*, int)); #define getc(fp) _IO_getc(fp) #define putc(c, fp) _IO_putc(c, fp) #define putchar(c) putc(c, stdout) #define getchar() getc(stdin) __END_DECLS #endif /*!_STDIO_H*/ ./usr/include/signal.h100644 1676 334 6456 5471535446 12760 0ustar hjlisl#ifndef _SIGNAL_H #define _SIGNAL_H #include #include #include #ifndef SIGCLD #define SIGCLD SIGCHLD #endif typedef int sig_atomic_t; typedef __sighandler_t SignalHandler; #ifndef BADSIG #define BADSIG SIG_ERR #endif /* The Interviews version also has these ... */ #define SignalBad ((SignalHandler)-1) #define SignalDefault ((SignalHandler)0) #define SignalIgnore ((SignalHandler)1) __BEGIN_DECLS extern __const char * __const sys_siglist[]; extern __const char * __const _sys_siglist[]; extern __sighandler_t signal __P ((int __sig, __sighandler_t)); extern int raise __P ((int __sig)); extern int __kill __P ((pid_t __pid, int __sig)); extern int kill __P ((pid_t __pid, int __sig)); extern int killpg __P ((int __pgrp, int __sig)); extern int sigaddset __P ((sigset_t *__mask, int __sig)); extern int sigdelset __P ((sigset_t *__mask, int __sig)); extern int sigemptyset __P ((sigset_t *__mask)); extern int sigfillset __P ((sigset_t *__mask)); extern int sigismember __P ((__const sigset_t *__mask, int __sig)); extern int sigpending __P ((sigset_t *__set)); extern int __sigprocmask __P ((int __how, __const sigset_t *__set, sigset_t *__oldset)); extern int sigprocmask __P ((int __how, sigset_t *__set, sigset_t *__oldset)); extern int sigsuspend __P ((sigset_t *sigmask)); extern int __sigaction __P ((int __sig, struct sigaction *__act, struct sigaction *__oldact)); extern int sigaction __P ((int __sig, struct sigaction *__act, struct sigaction *__oldact)); #define __sigemptyset(set) ((*(set) = 0L), 0) #define __sigfillset(set) ((*(set) = -1L), 0) #define __sigaddset(set, sig) ((*(set) |= __sigmask (sig)), 0) #define __sigdelset(set, sig) ((*(set) &= ~__sigmask (sig)), 0) #define __sigismember(set, sig) ((*(set) & __sigmask (sig)) ? 1 : 0) #ifdef __OPTIMIZE__ #define sigemptyset __sigemptyset #define sigfillset __sigfillset /* We don't do that any more since it causes problems due to * "sig" > _NSIG and "sig" < 1. It isn't worth the touble to make * them inline and static. Use __sigxxxxx if you want speed with * correct "sig". */ #if 0 #define sigaddset __sigaddset #define sigdelset __sigdelset #define sigismember __sigismember #endif #endif /* Return a mask that includes SIG only. */ #define __sigmask(sig) (1 << ((sig) - 1)) extern int __sigsetmask __P ((int __mask)); extern int __siggetmask __P ((void)); extern int __sigblock __P ((int __mask)); extern int __sigpause __P ((int __mask)); #ifdef __USE_SVID /* SVID names for the same things. */ extern __sighandler_t ssignal __P ((int __sig, __sighandler_t __handler)); extern int gsignal __P ((int __sig)); #endif /* Use SVID. */ /* BSD */ #ifdef __USE_BSD #define sigmask __sigmask extern int sigblock __P ((int __mask)); extern int sigpause __P ((int __mask)); extern int sigsetmask __P ((int __mask)); extern int siggetmask __P ((void)); extern void psignal __P ((int __sig, __const char *__str)); extern int siginterrupt __P ((int __sig, int __flag)); /* The `sig' bit is set if the interrupt on it * is enabled via siginterrupt (). */ extern sigset_t _sigintr; #endif /* Use BSD. */ #ifdef __USE_BSD_SIGNAL extern __sighandler_t __bsd_signal __P ((int __sig, __sighandler_t)); #define signal __bsd_signal #endif /* __USE_BSD_SIGNAL */ __END_DECLS #endif /* _SIGNAL_H */ ./usr/include/stdlib.h100644 1676 334 26556 5476375313 13007 0ustar hjlisl/* Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* * ANSI Standard: 4.10 GENERAL UTILITIES */ #ifndef _STDLIB_H #define _STDLIB_H 1 #include /* Get size_t, wchar_t and NULL from . */ #define __need_size_t #define __need_wchar_t #define __need_NULL #include #define __need_Emath #include /* Get HUGE_VAL (returned by strtod on overflow) from . */ #define __need_HUGE_VAL #include #if 0 /* C++ would like it here. */ /* I was told that was a bad idea. It's gone. Fix your C++ code. */ #ifdef __cplusplus #include #endif #endif __BEGIN_DECLS /* Returned by `div'. */ typedef struct { int quot; /* Quotient. */ int rem; /* Remainder. */ } div_t; /* Returned by `ldiv'. */ typedef struct { long quot; /* Quotient. */ long rem; /* Remainder. */ } ldiv_t; /* The largest number rand will return (same as INT_MAX). */ #ifndef RAND_MAX #define RAND_MAX 2147483647 #endif /* We define these the same for all machines. Changes from this to the outside world should be done in `_exit'. */ #define EXIT_FAILURE 1 /* Failing exit status. */ #define EXIT_SUCCESS 0 /* Successful exit status. */ /* Maximum length of a multibyte character in the current locale. This is just one until the fancy locale support is finished. */ #define MB_CUR_MAX 1 /* Convert a string to a floating-point number. */ extern double atof __P((__const char *__nptr)); /* Convert a string to an integer. */ extern int atoi __P((__const char *__nptr)); /* Convert a string to a long integer. */ extern long int atol __P((__const char *__nptr)); /* Convert a string to a floating-point number. */ extern double strtod __P((__const char *__nptr, char **__endptr)); /* Convert a string to a long integer. */ extern long int strtol __P((__const char *__nptr, char **__endptr, int __base)); /* Convert a string to an unsigned long integer. */ extern unsigned long int strtoul __P((__const char *__nptr, char **__endptr, int __base)); #ifdef __OPTIMIZE__ #define atof(nptr) strtod((nptr), (char **) NULL) #define atoi(nptr) ((int) atol(nptr)) #define atol(nptr) strtol((nptr), (char **) NULL, 10) #endif /* Optimizing. */ /* Return a random integer between 0 and RAND_MAX inclusive. */ extern int rand __P((void)); /* Seed the random number generator with the given number. */ extern void srand __P((unsigned int __seed)); /* These are the functions that actually do things. The `random', `srandom', `initstate' and `setstate' functions are those from BSD Unices. The `rand' and `srand' functions are required by the ANSI standard. We provide both interfaces to the same random number generator. */ /* Return a random long integer between 0 and RAND_MAX inclusive. */ extern long int __random __P((void)); /* Seed the random number generator with the given number. */ extern void __srandom __P((unsigned int __seed)); /* Initialize the random number generator to use state buffer STATEBUF, of length STATELEN, and seed it with SEED. Optimal lengths are 8, 16, 32, 64, 128 and 256, the bigger the better; values less than 8 will cause an error and values greater than 256 will be rounded down. */ extern void * __initstate __P((unsigned int __seed, void * __statebuf, size_t __statelen)); /* Switch the random number generator to state buffer STATEBUF, which should have been previously initialized by `initstate'. */ extern void * __setstate __P((void * __statebuf)); #ifdef __USE_BSD extern long int random __P((void)); extern void srandom __P((unsigned int __seed)); extern void * initstate __P((unsigned int __seed, void * __statebuf, size_t __statelen)); extern void * setstate __P((void * __statebuf)); #ifdef __OPTIMIZE__ #define random() __random() #define srandom(seed) __srandom(seed) #define initstate(s, b, n) __initstate((s), (b), (n)) #define setstate(state) __setstate(state) #endif /* Optimizing. */ #endif /* Use BSD. */ #ifdef __OPTIMIZE__ #define rand() ((int) __random()) #define srand(seed) __srandom(seed) #endif /* Optimizing. */ /* Allocate SIZE bytes of memory. */ extern void * malloc __P((size_t __size)); /* Re-allocate the previously allocated block in void *, making the new block SIZE bytes long. */ extern void * realloc __P((void * __ptr, size_t __size)); /* Allocate NMEMB elements of SIZE bytes each, all initialized to 0. */ extern void * calloc __P((size_t __nmemb, size_t __size)); /* Free a block allocated by `malloc', `realloc' or `calloc'. */ extern void free __P((void * __ptr)); #ifdef __USE_MISC /* Free a block. An alias for `free'. (Sun Unices). */ extern void cfree __P((void * __ptr)); #ifdef __OPTIMIZE__ #define cfree(ptr) free(ptr) #endif /* Optimizing. */ #endif /* Use misc. */ /* Some ill behaved applications don't expect malloc (0) returns * NULL. We put this hack here for them. For good behaved * applications, we should define __MALLOC_0_RETURNS_NULL. */ /* For backward compatibilities and X11R5 */ #if (defined(MALLOC_0_RETURNS_NULL) || defined(NO_FIX_MALLOC)) \ && !defined(__MALLOC_0_RETURNS_NULL) #define __MALLOC_0_RETURNS_NULL #endif #ifndef __MALLOC_0_RETURNS_NULL static __inline void* __gnu_calloc (size_t __nmemb, size_t __n) { return calloc (__nmemb ? __nmemb : 1, __n ? __n : 1); } static __inline void* __gnu_malloc (size_t __n) { return malloc (__n ? __n : 1); } #if 0 #define calloc(nmemb,n) __gnu_calloc((nmemb),(n)) #define malloc(n) __gnu_malloc((n)) #else #define calloc __gnu_calloc #define malloc __gnu_malloc #endif #endif #if defined(__USE_GNU) || defined(__USE_BSD) || defined(__USE_MISC) #include #endif /* Use GNU, BSD, or misc. */ #ifdef __USE_BSD /* Allocate SIZE bytes on a page boundary. The storage cannot be freed. */ extern void * valloc(size_t __size); #endif /* Abort execution and generate a core-dump. */ extern __NORETURN void abort __P((void)) __NORETURN2; /* Register a function to be called when `exit' is called. */ extern int atexit __P((void (*__func)(void))); #ifdef __USE_MISC /* Register a function to be called with the status given to `exit' and the given argument. */ extern int on_exit __P((void (*__func)(int __status, void * __arg), void * __arg)); #endif /* Call all functions registered with `atexit' and `on_exit', in the reverse of the order in which they were registered perform stdio cleanup, and terminate program execution with STATUS. */ extern __NORETURN void exit __P((int __status)) __NORETURN2; /* Return the value of envariable NAME, or NULL if it doesn't exist. */ extern char *getenv __P((__const char *__name)); #ifdef __USE_SVID /* The SVID says this is in , but this seems a better place. */ /* Put STRING, which is of the form "NAME=VALUE", in the environment. If there is no `=', remove NAME from the environment. */ extern int putenv __P((__const char *__string)); #endif /* Execute the given line as a shell command. */ extern int system __P((__const char *__command)); /* Shorthand for type of comparison functions. */ #ifndef __COMPAR_FN_T #define __COMPAR_FN_T typedef int (*__compar_fn_t) __P((__const void *, __const void *)); #endif #ifdef __GNUC__ #define comparison_fn_t __compar_fn_t #endif /* Do a binary search for KEY in BASE, which consists of NMEMB elements of SIZE bytes each, using COMPAR to perform the comparisons. */ extern void * bsearch __P((__const void * __key, __const void * __base, size_t __nmemb, size_t __size, __compar_fn_t __compar)); /* Sort NMEMB elements of BASE, of SIZE bytes each, using COMPAR to perform the comparisons. */ extern void qsort __P((void * __base, size_t __nmemb, size_t __size, __compar_fn_t __compar)); /* Return the absolute value of X. */ extern __CONSTVALUE int abs __P((int __x)) __CONSTVALUE2; extern __CONSTVALUE long int labs __P((long int __x)) __CONSTVALUE2; #if defined(__GNUC__) && defined(__OPTIMIZE__) #ifndef __cplusplus /* It is defined in libg++.a as builtin. */ #define abs(x) __builtin_abs(x) #endif #define labs(x) __builtin_labs(x) #endif /* GCC and optimizing. */ /* Return the `div_t' or `ldiv_t' representation of the value of NUMER over DENOM. */ /* GCC may have built-ins for these someday. */ extern __CONSTVALUE div_t div(int __numer, int __denom) __CONSTVALUE2; extern __CONSTVALUE ldiv_t ldiv(long int __numer, long int __denom) __CONSTVALUE2; /* Return the length of the multibyte character in S, which is no longer than N. */ extern int mblen __P((__const char *__s, size_t __n)); /* Return the length of the given multibyte character, putting its `wchar_t' representation in *PWC. */ extern int mbtowc __P((wchar_t *__pwc, __const char *__s, size_t __n)); /* Put the multibyte character represented by WCHAR in S, returning its length. */ extern int wctomb __P((char *__s, wchar_t __wchar)); #ifdef __OPTIMIZE__ #define mblen(s, n) mbtowc((wchar_t *) 0, (s), (n)) #endif /* Optimizing. */ /* Convert a multibyte string to a wide char string. */ extern size_t mbstowcs __P((wchar_t *__pwcs, __const char *__s, size_t __n)); /* Convert a wide char string to multibyte string. */ extern size_t wcstombs __P((char *__s, __const wchar_t *__pwcs, size_t __n)); /* I added the followings to Linux. H.J. */ #if defined(__USE_MISC) extern char **environ; extern char **__environ; extern void* memalign __P((size_t __alignment, size_t __size)); extern void* valloc __P((size_t __size)); extern char* ecvt __P((double __value, size_t __ndigit, int *__decpt, int *__sign)); extern char* fcvt __P((double __value, size_t __ndigit, int *__decpt, int *__sign)); extern char* gcvt __P((double __value, size_t __ndigit, char *__buf)); #ifndef __cplusplus /* It is defined in libg++.a as builtin. */ extern char* dtoa __P((double __d, int __mode, int __ndigits, int *__decpt, int *__sign, char **__rve)); #endif extern double drand48 __P((void)); extern double erand48 __P((unsigned short int __xsubi[3])); extern long int lrand48 __P((void)); extern long int nrand48 __P((unsigned short int __xsubi[3])); extern long int mrand48 __P((void)); extern long int jrand48 __P((unsigned short int __xsubi[3])); extern void srand48 __P((long int __seedval)); extern unsigned short int *seed48 __P((unsigned short int __seed16v[3])); extern void lcong48 __P((unsigned short int __param[7])); extern int setenv __P((__const char *__name, __const char *__value, int __overwrite)); extern void unsetenv __P((__const char *__name)); struct qelem { struct qelem *q_forw; struct qelem *q_back; char q_data[1]; }; extern void insque __P((struct qelem *__elem, struct qelem *__prev)); extern void remque __P((struct qelem *__elem)); #endif __END_DECLS #endif /* stdlib.h */ ./usr/include/string.h100644 1676 334 16375 5504175102 13014 0ustar hjlisl/* Copyright (C) 1991, 1992 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the, 1992 Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* * ANSI Standard: 4.11 STRING HANDLING */ #ifndef _STRING_H #define _STRING_H 1 #include __BEGIN_DECLS /* Get size_t and NULL from . */ #define __need_size_t #define __need_NULL #include /* `memcpy' is a built-in function for gcc 2.x. */ #if defined(__STDC__) || __GNUC__ < 2 /* Copy N bytes of SRC to DEST. */ extern __ptr_t memcpy __P ((__ptr_t __dest, __const __ptr_t __src, size_t __n)); #endif /* Copy N bytes of SRC to DEST, guaranteeing correct behavior for overlapping strings. */ extern __ptr_t memmove __P ((__ptr_t __dest, __const __ptr_t __src, size_t __n)); /* Copy no more than N bytes of SRC to DEST, stopping when C is found. Return the position in DEST one byte past where C was copied, or NULL if C was not found in the first N bytes of SRC. */ extern __ptr_t __memccpy __P ((__ptr_t __dest, __const __ptr_t __src, int __c, size_t __n)); #if defined (__USE_SVID) || defined (__USE_BSD) extern __ptr_t memccpy __P ((__ptr_t __dest, __const __ptr_t __src, int __c, size_t __n)); #ifdef __OPTIMIZE__ #define memccpy(dest, src, c, n) __memccpy((dest), (src), (c), (n)) #endif /* Optimizing. */ #endif /* SVID. */ /* Set N bytes of S to C. */ extern __ptr_t memset __P ((__ptr_t __s, int __c, size_t __n)); /* `memcmp' is a built-in function for gcc 2.x. */ #if defined(__STDC__) || __GNUC__ < 2 /* Compare N bytes of S1 and S2. */ extern int memcmp __P ((__const __ptr_t __s1, __const __ptr_t __s2, size_t __n)); #endif /* Search N bytes of S for C. */ extern __ptr_t memchr __P ((__const __ptr_t __s, int __c, size_t __n)); /* Copy SRC to DEST. */ extern char *strcpy __P ((char *__dest, __const char *__src)); /* Copy no more than N characters of SRC to DEST. */ extern char *strncpy __P ((char *__dest, __const char *__src, size_t __n)); /* Append SRC onto DEST. */ extern char *strcat __P ((char *__dest, __const char *__src)); /* Append no more than N characters from SRC onto DEST. */ extern char *strncat __P ((char *__dest, __const char *__src, size_t __n)); /* Compare S1 and S2. */ extern int strcmp __P ((__const char *__s1, __const char *__s2)); /* Compare N characters of S1 and S2. */ extern int strncmp __P ((__const char *__s1, __const char *__s2, size_t __n)); /* Compare the collated forms of S1 and S2. */ extern int strcoll __P ((__const char *__s1, __const char *__s2)); /* Put a transformation of SRC into no more than N bytes of DEST. */ extern size_t strxfrm __P ((char *__dest, __const char *__src, size_t __n)); #if defined (__USE_SVID) || defined (__USE_BSD) /* Duplicate S, returning an identical malloc'd string. */ extern char *strdup __P ((__const char *__s)); #endif /* Find the first occurrence of C in S. */ extern char *strchr __P ((__const char *__s, int __c)); /* Find the last occurrence of C in S. */ extern char *strrchr __P ((__const char *__s, int __c)); /* Return the length of the initial segment of S which consists entirely of characters not in REJECT. */ extern size_t strcspn __P ((__const char *__s, __const char *__reject)); /* Return the length of the initial segment of S which consists entirely of characters in ACCEPT. */ extern size_t strspn __P ((__const char *__s, __const char *__accept)); /* Find the first occurence in S of any character in ACCEPT. */ extern char *strpbrk __P ((__const char *__s, __const char *__accept)); /* Find the first occurence of NEEDLE in HAYSTACK. */ extern char *strstr __P ((__const char *__haystack, __const char *__needle)); /* Divide S into tokens separated by characters in DELIM. */ extern char *strtok __P ((char *__s, __const char *__delim)); #ifdef __USE_GNU /* Find the first occurence of NEEDLE in HAYSTACK. NEEDLE is NEEDLELEN bytes long; HAYSTACK is HAYSTACKLEN bytes long. */ extern __ptr_t memmem __P ((__const __ptr_t __needle, size_t __needlelen, __const __ptr_t __haystack, size_t __haystacklen)); #endif /* Return the length of S. */ extern size_t strlen __P ((__const char *__s)); /* Return a string describing the meaning of the errno code in ERRNUM. */ extern char *strerror __P ((int __errnum)); #ifdef __USE_BSD /* Find the first occurrence of C in S (same as strchr). */ extern char *index __P ((__const char *__s, int __c)); /* Find the last occurrence of C in S (same as strrchr). */ extern char *rindex __P ((__const char *__s, int __c)); #ifndef __linux__ /* Copy N bytes of SRC to DEST (like memmove, but args reversed). */ extern void bcopy __P ((__const __ptr_t __src, __ptr_t __dest, size_t __n)); /* Set N bytes of S to 0. */ extern void bzero __P ((__ptr_t __s, size_t __n)); /* Compare N bytes of S1 and S2 (same as memcmp). */ extern int bcmp __P ((__const __ptr_t __s1, __const __ptr_t __s2, size_t __n)); #else /* Copy N bytes of SRC to DEST (like memmove, but args reversed). */ extern void bcopy __P ((__const __ptr_t __src, __ptr_t __dest, int __n)); /* Set N bytes of S to 0. */ extern void bzero __P ((__ptr_t __s, int __n)); /* Compare N bytes of S1 and S2 (same as memcmp). */ extern int bcmp __P ((__const __ptr_t __s1, __const __ptr_t __s2, int __n)); #endif /* Return the position of the first bit set in I, or 0 if none are set. The least-significant bit is position 1, the most-significant 32. */ extern int ffs __P ((int __i)); #if 0 /* gcc is broken. */ #if defined(__GNUC__) && defined(__OPTIMIZE__) #define ffs(x) __builtin_ffs(x) #endif /* GCC and optimizing. */ #endif /* Compare S1 and S2, ignoring case. */ extern int strcasecmp __P ((__const char *__s1, __const char *__s2)); /* Return the next DELIM-delimited token from *STRINGP, terminating it with a '\0', and update *STRINGP to point past it. */ extern char *strsep __P ((char **__stringp, __const char *__delim)); #endif #ifdef __USE_GNU /* Compare no more than N chars of S1 and S2, ignoring case. */ extern int strncasecmp __P ((__const char *__s1, __const char *__s2, size_t __n)); /* Return a string describing the meaning of the signal number in SIG. */ extern char *strsignal __P ((int __sig)); /* Copy SRC to DEST, returning the address of the terminating '\0' in DEST. */ extern char *stpcpy __P ((char *__dest, __const char *__src)); /* Sautee STRING briskly. */ extern char *strfry __P ((char *__string)); /* Frobnicate N bytes of S. */ extern __ptr_t memfrob __P ((__ptr_t __s, size_t __n)); extern void swab __P ((__const __ptr_t __from, __ptr_t __to, size_t __nbytes)); #endif __END_DECLS #endif /* string.h */ ./usr/include/strings.h100644 1676 334 24 5263127275 13111 0ustar hjlisl#include ./usr/include/syscall.h100644 1676 334 1220 5537131525 13126 0ustar hjlisl#ifndef _SYSCALL_H #define _SYSCALL_H #include #include #include #ifndef __MAX_ERRNO #define __MAX_ERRNO 4096 #endif /* In case of returning a memory address, negative values may * not mean error. */ #ifdef __CHECK_RETURN_ADDR #define __check_errno(__res) \ ((__res) >= 0 || (__res) < -__MAX_ERRNO) #else #define __check_errno(__res) ((__res) >= 0) #endif __BEGIN_DECLS extern int syscall __P ((int __number, ...)); __END_DECLS #if defined(__i386__) # include #elif defined (__mc68000__) # include #else # error architecture not supported by Linux C library #endif #endif ./usr/include/syslog.h100644 1676 334 30 5276267050 12735 0ustar hjlisl#include ./usr/include/tar.h100644 1676 334 7243 5263736771 12267 0ustar hjlisl/* Extended tar format from POSIX.1. Copyright (C) 1992 Free Software Foundation, Inc. Written by David J. MacKenzie. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the, 1992 Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef _TAR_H #define _TAR_H 1 /* A tar archive consists of 512-byte blocks. Each file in the archive has a header block followed by 0+ data blocks. Two blocks of NUL bytes indicate the end of the archive. */ /* The fields of header blocks: All strings are stored as ISO 646 (approximately ASCII) strings. Fields are numeric unless otherwise noted below; numbers are ISO 646 representations of octal numbers, with leading zeros as needed. linkname is only valid when typeflag==LNKTYPE. It doesn't use prefix; files that are links to pathnames >100 chars long can not be stored in a tar archive. If typeflag=={LNKTYPE,SYMTYPE,DIRTYPE} then size must be 0. devmajor and devminor are only valid for typeflag=={BLKTYPE,CHRTYPE}. chksum contains the sum of all 512 bytes in the header block, treating each byte as an 8-bit unsigned value and treating the 8 bytes of chksum as blank characters. uname and gname are used in preference to uid and gid, if those names exist locally. Field Name Byte Offset Length in Bytes Field Type name 0 100 NUL-terminated if NUL fits mode 100 8 uid 108 8 gid 116 8 size 124 12 mtime 136 12 chksum 148 8 typeflag 156 1 see below linkname 157 100 NUL-terminated if NUL fits magic 257 6 must be TMAGIC (NUL term.) version 263 2 must be TVERSION uname 265 32 NUL-terminated gname 297 32 NUL-terminated devmajor 329 8 devminor 337 8 prefix 345 155 NUL-terminated if NUL fits If the first character of prefix is '\0', the file name is name; otherwise, it is prefix/name. Files whose pathnames don't fit in that length can not be stored in a tar archive. */ /* The bits in mode: */ #define TSUID 04000 #define TSGID 02000 #define TSVTX 01000 #define TUREAD 00400 #define TUWRITE 00200 #define TUEXEC 00100 #define TGREAD 00040 #define TGWRITE 00020 #define TGEXEC 00010 #define TOREAD 00004 #define TOWRITE 00002 #define TOEXEC 00001 /* The values for typeflag: Values 'A'-'Z' are reserved for custom implementations. All other values are reserved for future POSIX.1 revisions. */ #define REGTYPE '0' /* Regular file (preferred code). */ #define AREGTYPE '\0' /* Regular file (alternate code). */ #define LNKTYPE '1' /* Hard link. */ #define SYMTYPE '2' /* Symbolic link (hard if not supported). */ #define CHRTYPE '3' /* Character special. */ #define BLKTYPE '4' /* Block special. */ #define DIRTYPE '5' /* Directory. */ #define FIFOTYPE '6' /* Named pipe. */ #define CONTTYPE '7' /* Contiguous file */ /* (regular file if not supported). */ /* Contents of magic field and its length. */ #define TMAGIC "ustar" #define TMAGLEN 6 /* Contents of the version field and its length. */ #define TVERSION "00" #define TVERSLEN 2 #endif /* tar.h */ ./usr/include/termcap.h100644 1676 334 3447 5526513046 13124 0ustar hjlisl/* Declarations for termcap library. Copyright (C) 1991, 1992 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef _TERMCAP_H #define _TERMCAP_H 1 #include #ifdef __STDC__ typedef int (*outfuntype) (int); #ifdef __cplusplus extern "C" { #endif extern int tgetent (void *__buffer, const char *__termtype); extern int tgetnum (const char *__name); extern int tgetflag (const char *__name); extern char *tgetstr (const char *__name, char **__area); extern char PC; #ifdef __linux__ extern speed_t ospeed; #else extern short ospeed; #endif extern void tputs (const char *__string, int __nlines, outfuntype); extern char *tparam (const char *__ctlstring, void *__buffer, int __size, ...); extern char *UP; extern char *BC; extern char *tgoto (const char *__cstring, int __hpos, int __vpos); #ifdef __cplusplus } #endif #else /* not ANSI C */ extern int tgetent (); extern int tgetnum (); extern int tgetflag (); extern char *tgetstr (); extern char PC; extern short ospeed; extern int tputs (); extern char *tparam (); extern char *UP; extern char *BC; extern char *tgoto (); #endif /* not ANSI C */ #endif /* not _TERMCAP_H */ ./usr/include/termio.h100644 1676 334 25 5263127277 12722 0ustar hjlisl#include ./usr/include/termios.h100644 1676 334 2104 5341253173 13135 0ustar hjlisl#ifndef _TERMIOS_H #define _TERMIOS_H #include #include #include __BEGIN_DECLS extern speed_t cfgetispeed __P ((struct termios *__termios_p)); extern speed_t cfgetospeed __P ((struct termios *__termios_p)); /* Set *T to indicate raw mode. */ extern void cfmakeraw __P ((struct termios *__t)); extern int cfsetispeed __P ((struct termios *__termios_p, speed_t __speed)); extern int cfsetospeed __P ((struct termios *__termios_p, speed_t __speed)); extern int tcdrain __P ((int __fildes)); extern int tcflow __P ((int __fildes, int __action)); extern int tcflush __P ((int __fildes, int __queue_selector)); extern pid_t tcgetpgrp __P ((int __fildes)); extern int tcgetattr __P ((int __fildes, struct termios *__termios_p)); extern int __tcgetattr __P ((int __fildes, struct termios *__termios_p)); extern int tcsendbreak __P ((int __fildes, int __duration)); extern int tcsetattr __P ((int __fildes, int __optional_actions, struct termios *__termios_p)); extern int tcsetpgrp __P ((int __fildes, pid_t __pgrp_id)); __END_DECLS #endif ./usr/include/time.h100644 1676 334 2565 5476375314 12437 0ustar hjlisl#ifndef _TIME_H #define _TIME_H #include #ifndef _TIME_T #define _TIME_T typedef long time_t; #endif #ifndef _CLOCK_T #define _CLOCK_T typedef long clock_t; #endif #ifndef _SIZE_T #define _SIZE_T typedef unsigned int size_t; #endif #ifndef NULL #ifdef __cplusplus #define NULL 0 #else #define NULL ((void *) 0) #endif #endif #define CLOCKS_PER_SEC 100 #define CLK_TCK 100 /* That must be the same as HZ ???? */ struct tm { int tm_sec; int tm_min; int tm_hour; int tm_mday; int tm_mon; int tm_year; int tm_wday; int tm_yday; int tm_isdst; }; #define __isleap(year) \ ((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0)) extern char *tzname[2]; extern int daylight; extern long int timezone; __BEGIN_DECLS extern int stime __P ((time_t* __tptr)); extern clock_t clock __P ((void)); extern time_t time __P ((time_t * __tp)); extern __CONSTVALUE double difftime __P ((time_t __time2, time_t __time1)) __CONSTVALUE2; extern time_t mktime __P ((struct tm * __tp)); extern char * asctime __P ((__const struct tm * __tp)); extern char * ctime __P ((__const time_t * __tp)); extern size_t strftime __P ((char * __s, size_t __smax, __const char * __fmt, __const struct tm * __tp)); extern void tzset __P ((void)); extern struct tm* gmtime __P ((__const time_t *__tp)); extern struct tm* localtime __P ((__const time_t * __tp)); __END_DECLS #endif ./usr/include/unistd.h100644 1676 334 57202 5550022405 13004 0ustar hjlisl/* Copyright (C) 1991, 1992 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* * POSIX Standard: 2.10 Symbolic Constants */ #ifndef _UNISTD_H #define _UNISTD_H 1 #include __BEGIN_DECLS /* These may be used to determine what facilities are present at compile time. Their values can be obtained at run time from sysconf. */ /* POSIX Standard approved as IEEE Std 1003.1 as of August, 1988. */ #define _POSIX_VERSION 199009L /* These are not #ifdef __USE_POSIX2 because they are in the theoretically application-owned namespace. */ #define _POSIX2_C_VERSION 199912L /* Invalid until 1003.2 is done. */ /* If defined, the implementation supports the C Language Bindings Option. */ #define _POSIX2_C_BIND 1 /* If defined, the implementation supports the C Language Development Utilities Option. */ #define _POSIX2_C_DEV 1 /* If defined, the implementation supports the Software Development Utilities Option. */ #define _POSIX2_SW_DEV 1 /* Get values of POSIX options: If these symbols are defined, the corresponding features are always available. If not, they may be available sometimes. The current values can be obtained with `sysconf'. _POSIX_JOB_CONTROL Job control is supported. _POSIX_SAVED_IDS Processes have a saved set-user-ID and a saved set-group-ID. If any of these symbols is defined as -1, the corresponding option is not true for any file. If any is defined as other than -1, the corresponding option is true for all files. If a symbol is not defined at all, the value for a specific file can be obtained from `pathconf' and `fpathconf'. _POSIX_CHOWN_RESTRICTED Only the super user can use `chown' to change the owner of a file. `chown' can only be used to change the group ID of a file to a group of which the calling process is a member. _POSIX_NO_TRUNC Pathname components longer than NAME_MAX generate an error. _POSIX_VDISABLE If defined, if the value of an element of the `c_cc' member of `struct termios' is _POSIX_VDISABLE, no character will have the effect associated with that element. */ #include /* Standard file descriptors. */ #define STDIN_FILENO 0 /* Standard input. */ #define STDOUT_FILENO 1 /* Standard output. */ #define STDERR_FILENO 2 /* Standard error output. */ /* All functions that are not declared anywhere else. */ #include #if !defined(ssize_t) && !defined(_SSIZE_T) #define _SSIZE_T #define ssize_t __ssize_t #endif #define __need_size_t #include /* Values for the second argument to access. These may be OR'd together. */ #define R_OK 4 /* Test for read permission. */ #define W_OK 2 /* Test for write permission. */ #define X_OK 1 /* Test for execute permission. */ #define F_OK 0 /* Test for existence. */ /* Test for access to NAME. */ extern int __access __P ((__const char *__name, int __type)); extern int access __P ((__const char *__name, int __type)); /* Values for the WHENCE argument to lseek. */ #ifndef _STDIO_H /* has the same definitions. */ #define SEEK_SET 0 /* Seek from beginning of file. */ #define SEEK_CUR 1 /* Seek from current position. */ #define SEEK_END 2 /* Seek from end of file. */ #endif /* Move FD's file position to OFFSET bytes from the beginning of the file (if WHENCE is SEEK_SET), the current position (if WHENCE is SEEK_CUR), or the end of the file (if WHENCE is SEEK_END). Return the new file position. */ extern __off_t __lseek __P ((int __fd, __off_t __offset, int __whence)); extern __off_t lseek __P ((int __fd, __off_t __offset, int __whence)); /* Close the file descriptor FD. */ extern int __close __P ((int __fd)); extern int close __P ((int __fd)); /* Read NBYTES into BUF from FD. Return the number read, -1 for errors or 0 for EOF. */ extern ssize_t __read __P ((int __fd, __ptr_t __buf, size_t __nbytes)); extern ssize_t read __P ((int __fd, __ptr_t __buf, size_t __nbytes)); /* Write N bytes of BUF to FD. Return the number written, or -1. */ extern ssize_t __write __P ((int __fd, __const __ptr_t __buf, size_t __n)); extern ssize_t write __P ((int __fd, __const __ptr_t __buf, size_t __n)); /* Create a one-way communication channel (pipe). If successul, two file descriptors are stored in PIPEDES; bytes written on PIPEDES[1] can be read from PIPEDES[0]. Returns 0 if successful, -1 if not. */ extern int __pipe __P ((int __pipedes[2])); extern int pipe __P ((int __pipedes[2])); /* Schedule an alarm. In SECONDS seconds, the process will get a SIGALRM. If SECONDS is zero, any currently scheduled alarm will be cancelled. The function returns the number of seconds remaining until the last alarm scheduled would have signaled, or zero if there wasn't one. There is no return value to indicate an error, but you can set `errno' to 0 and check its value after calling `alarm', and this might tell you. The signal may come late due to processor scheduling. */ extern unsigned int alarm __P ((unsigned int __seconds)); /* Make the process sleep for SECONDS seconds, or until a signal arrives and is not ignored. The function returns the number of seconds less than SECONDS which it actually slept (thus zero if it slept the full time). If a signal handler does a `longjmp' or modifies the handling of the SIGALRM signal while inside `sleep' call, the handling of the SIGALRM signal afterwards is undefined. There is no return value to indicate error, but if `sleep' returns SECONDS, it probably didn't work. */ extern unsigned int sleep __P ((unsigned int __seconds)); /* Suspend the process until a signal arrives. This always returns -1 and sets `errno' to EINTR. */ extern int pause __P ((void)); /* Change the owner and group of FILE. */ extern int __chown __P ((__const char *__file, __uid_t __owner, __gid_t __group)); extern int chown __P ((__const char *__file, __uid_t __owner, __gid_t __group)); #ifdef __USE_BSD /* Change the owner and group of the file that FD is open on. */ extern int __fchown __P ((int __fd, __uid_t __owner, __gid_t __group)); extern int fchown __P ((int __fd, __uid_t __owner, __gid_t __group)); #endif /* Use BSD. */ /* Change the process's working directory to PATH. */ extern int __chdir __P ((__const char *__path)); extern int chdir __P ((__const char *__path)); /* Get the pathname of the current working directory, and put it in SIZE bytes of BUF. Returns NULL if the directory couldn't be determined or SIZE was too small. If successful, returns BUF. In GNU, if BUF is NULL, an array is allocated with `malloc'; the array is SIZE bytes long, unless SIZE <= 0, in which case it is as big as necessary. */ extern char *getcwd __P ((char *__buf, size_t __size)); #ifdef __USE_GNU /* Return a malloc'd string containing the current directory name. If the environment variable `PWD' is set, and its value is correct, that value is used. */ extern char *get_current_dir_name __P ((void)); #endif #ifdef __USE_BSD /* Put the absolute pathname of the current working directory in BUF. If successful, return BUF. If not, put an error message in BUF and return NULL. BUF should be at least PATH_MAX bytes long. */ extern char *getwd __P ((char *__buf)); #endif /* Duplicate FD, returning a new file descriptor on the same file. */ extern int __dup __P ((int __fd)); extern int dup __P ((int __fd)); /* Duplicate FD to FD2, closing FD2 and making it open on the same file. */ extern int __dup2 __P ((int __fd, int __fd2)); extern int dup2 __P ((int __fd, int __fd2)); /* NULL-terminated array of "NAME=VALUE" environment variables. */ extern char **__environ; extern char **environ; /* Replace the current process, executing PATH with arguments ARGV and environment ENVP. ARGV and ENVP are terminated by NULL pointers. */ extern int __execve __P ((__const char *__path, char *__const __argv[], char *__const __envp[])); extern int execve __P ((__const char *__path, char *__const __argv[], char *__const __envp[])); /* Execute PATH with arguments ARGV and environment from `environ'. */ extern int execv __P ((__const char *__path, char *__const __argv[])); /* Execute PATH with all arguments after PATH until a NULL pointer, and the argument after that for environment. */ extern int execle __P ((__const char *__path, __const char *__arg,...)); /* Execute PATH with all arguments after PATH until a NULL pointer and environment from `environ'. */ extern int execl __P ((__const char *__path, __const char *__arg,...)); /* Execute FILE, searching in the `PATH' environment variable if it contains no slashes, with arguments ARGV and environment from `environ'. */ extern int execvp __P ((__const char *__file, char *__const __argv[])); /* Execute FILE, searching in the `PATH' environment variable if it contains no slashes, with all arguments after FILE until a NULL pointer and environment from `environ'. */ extern int execlp __P ((__const char *__file, __const char *arg,...)); /* Terminate program execution with the low-order 8 bits of STATUS. */ extern __NORETURN void _exit __P ((int __status)) __NORETURN2; /* Values for the NAME argument to `pathconf' and `fpathconf'. These correspond to the _POSIX_* symbols above, but for specific files or file descriptors. */ #define _PC_LINK_MAX 0 #define _PC_MAX_CANON 1 #define _PC_MAX_INPUT 2 #define _PC_NAME_MAX 3 #define _PC_PATH_MAX 4 #define _PC_PIPE_BUF 5 #define _PC_CHOWN_RESTRICTED 6 #define _PC_NO_TRUNC 7 #define _PC_VDISABLE 8 /* Get file-specific configuration information about PATH. */ extern long int __pathconf __P ((__const char *__path, int __name)); extern long int pathconf __P ((__const char *__path, int __name)); /* Get file-specific configuration about descriptor FD. */ extern long int __fpathconf __P ((int __fd, int __name)); extern long int fpathconf __P ((int __fd, int __name)); /* Values for the argument to `sysconf'. These correspond to the _POSIX_* symbols in and above, but may vary at run time. */ enum { _SC_ARG_MAX, _SC_CHILD_MAX, _SC_CLK_TCK, _SC_NGROUPS_MAX, _SC_OPEN_MAX, _SC_STREAM_MAX, _SC_TZNAME_MAX, _SC_JOB_CONTROL, _SC_SAVED_IDS, _SC_VERSION, /* CLOCKS_PER_SEC: Units/sec of clock() */ _SC_CLOCKS_PER_SEC, /* Values for the argument to `sysconf' corresponding to _POSIX2_* symbols. */ _SC_BC_BASE_MAX, _SC_BC_DIM_MAX, _SC_BC_SCALE_MAX, _SC_BC_STRING_MAX, _SC_COLL_WEIGHTS_MAX, _SC_EQUIV_CLASS_MAX, _SC_EXPR_NEST_MAX, _SC_LINE_MAX, _SC_RE_DUP_MAX, _SC_2_VERSION, _SC_2_C_BIND, _SC_2_C_DEV, _SC_2_FORT_DEV, _SC_2_FORT_RUN, _SC_2_SW_DEV, _SC_2_LOCALEDEF }; /* Get the value of the system variable NAME. */ extern long int __sysconf __P ((int __name)); extern long int sysconf __P ((int __name)); #ifdef __USE_POSIX2 /* Values for the argument to `confstr'. */ #define _CS_PATH 0 /* The default search path. */ /* Get the value of the string-valued system variable NAME. */ extern size_t confstr __P ((int __name, char *__buf, size_t __len)); #endif /* Get the process ID of the calling process. */ extern __pid_t __getpid __P ((void)); extern __pid_t getpid __P ((void)); /* Get the process ID of the calling process's parent. */ extern __pid_t __getppid __P ((void)); extern __pid_t getppid __P ((void)); #ifdef __linux__ /* Get the process group ID of the process matching PID. If PID is zero, the current process's process group ID is returned. */ extern __pid_t getpgid __P ((__pid_t __pid)); /* Get the process group ID of the calling process. */ extern __pid_t getpgrp __P ((void)); /* Set the process group ID of the process matching PID to PGID. If PID is zero, the current process's process group ID is set. If PGID is zero, the process ID of the process is used. */ extern int setpgid __P ((__pid_t __pid, __pid_t __pgid)); extern int setpgrp __P ((void)); #else /* Get the process group ID of process PID. */ extern __pid_t __getpgrp __P ((__pid_t __pid)); #ifndef __FAVOR_BSD /* Get the process group ID of the calling process. */ extern __pid_t getpgrp __P ((void)); #else /* Favor BSD. */ #define getpgrp(pid) __getpgrp(pid) #endif /* Set the process group ID of the process matching PID to PGID. If PID is zero, the current process's process group ID is set. If PGID is zero, the process ID of the process is used. */ extern int __setpgrp __P ((__pid_t __pid, __pid_t __pgid)); extern int setpgid __P ((__pid_t __pid, __pid_t __pgid)); #ifdef __USE_BSD /* Set the process group of PID to PGRP. */ extern int setpgrp __P ((__pid_t __pid, __pid_t __pgrp)); #endif /* Use BSD. */ #endif /* __linux__ */ /* Create a new session with the calling process as its leader. The process group IDs of the session and the calling process are set to the process ID of the calling process, which is returned. */ extern __pid_t __setsid __P ((void)); extern __pid_t setsid __P ((void)); /* Get the real user ID of the calling process. */ extern __uid_t __getuid __P ((void)); extern __uid_t getuid __P ((void)); /* Get the effective user ID of the calling process. */ extern __uid_t __geteuid __P ((void)); extern __uid_t geteuid __P ((void)); /* Get the real group ID of the calling process. */ extern __gid_t __getgid __P ((void)); extern __gid_t getgid __P ((void)); /* Get the effective group ID of the calling process. */ extern __gid_t __getegid __P ((void)); extern __gid_t getegid __P ((void)); /* If SIZE is zero, return the number of supplementary groups the calling process is in. Otherwise, fill in the group IDs of its supplementary groups in LIST and return the number written. */ extern int __getgroups __P ((int __size, __gid_t __list[])); extern int getgroups __P ((int __size, __gid_t __list[])); /* Set the user ID of the calling process to UID. If the calling process is the super-user, set the real and effective user IDs, and the saved set-user-ID to UID; if not, the effective user ID is set to UID. */ extern int __setuid __P ((__uid_t __uid)); extern int setuid __P ((__uid_t __uid)); #ifdef __USE_BSD /* Set the real user ID of the calling process to RUID, and the effective user ID of the calling process to EUID. */ extern int __setreuid __P ((__uid_t __ruid, __uid_t __euid)); extern int setreuid __P ((__uid_t __ruid, __uid_t __euid)); /* Set the effective user ID of the calling process to UID. */ extern int seteuid __P ((__uid_t __uid)); #endif /* Use BSD. */ /* Set the group ID of the calling process to GID. If the calling process is the super-user, set the real and effective group IDs, and the saved set-group-ID to GID; if not, the effective group ID is set to GID. */ extern int __setgid __P ((__gid_t __gid)); extern int setgid __P ((__gid_t __gid)); #ifdef __USE_BSD /* Set the real group ID of the calling process to RGID, and the effective group ID of the calling process to EGID. */ extern int __setregid __P ((__gid_t __rgid, __gid_t __egid)); extern int setregid __P ((__gid_t __rgid, __gid_t __egid)); /* Set the effective group ID of the calling process to UID. */ extern int setegid __P ((__uid_t __uid)); #endif /* Use BSD. */ /* Clone the calling process, creating an exact copy. Return -1 for errors, 0 to the new process, and the process ID of the new process to the old process. */ extern __pid_t __fork __P ((void)); extern __pid_t fork __P ((void)); #ifdef __USE_BSD /* Clone the calling process, but without copying the whole address space. The the calling process is suspended until the the new process exits or is replaced by a call to `execve'. Return -1 for errors, 0 to the new process, and the process ID of the new process to the old process. */ extern __pid_t __vfork __P ((void)); extern __pid_t vfork __P ((void)); #endif /* Use BSD. */ /* get character login name of the user. */ extern char *cuserid __P((char * __buf)); /* Return the name of the controlling terminal. */ extern char *ctermid __P((char *__buf)); /* Return the pathname of the terminal FD is open on, or NULL on errors. The returned storage is good only until the next call to this function. */ extern char *ttyname __P ((int __fd)); /* Return 1 if FD is a valid descriptor associated with a terminal, zero if not. */ extern int __isatty __P ((int __fd)); extern int isatty __P ((int __fd)); /* Make a link to FROM named TO. */ extern int __link __P ((__const char *__from, __const char *__to)); extern int link __P ((__const char *__from, __const char *__to)); #ifdef __USE_BSD /* Make a symbolic link to FROM named TO. */ extern int __symlink __P ((__const char *__from, __const char *__to)); extern int symlink __P ((__const char *__from, __const char *__to)); /* Read the contents of the symbolic link PATH into no more than LEN bytes of BUF. The contents are not null-terminated. Returns the number of characters read, or -1 for errors. */ extern int __readlink __P ((__const char *__path, char *__buf, size_t __len)); extern int readlink __P ((__const char *__path, char *__buf, size_t __len)); #endif /* Use BSD. */ /* Remove the link NAME. */ extern int __unlink __P ((__const char *__name)); extern int unlink __P ((__const char *__name)); /* Remove the directory PATH. */ extern int __rmdir __P ((__const char *__path)); extern int rmdir __P ((__const char *__path)); /* Return the foreground process group ID of FD. */ extern __pid_t tcgetpgrp __P ((int __fd)); /* Set the foreground process group ID of FD set PGRP_ID. */ extern int tcsetpgrp __P ((int __fd, __pid_t __pgrp_id)); /* Return the login name of the user. */ extern char *getlogin __P ((void)); #ifdef __USE_BSD /* Set the login name returned by `getlogin'. */ extern int setlogin __P ((__const char *__name)); #endif #ifdef __USE_POSIX2 /* Process the arguments in ARGV (ARGC of them, minus the program name) for options given in OPTS. If `opterr' is zero, no messages are generated for invalid options; it defaults to 1. `optind' is the current index into ARGV. `optarg' is the argument corresponding to the current option. Return the option character from OPTS just read. Return -1 when there are no more options. For unrecognized options, or options missing arguments, `optopt' is set to the option letter, and '?' is returned. The OPTS string is a list of characters which are recognized option letters, optionally followed by colons, specifying that that letter takes an argument, to be placed in `optarg'. If a letter in OPTS is followed by two colons, its argument is optional. This behavior is specific to the GNU `getopt'. The argument `--' causes premature termination of argument scanning, explicitly telling `getopt' that there are no more options. If OPTS begins with `--', then non-option arguments are treated as arguments to the option '\0'. This behavior is specific to the GNU `getopt'. */ extern int getopt __P ((int __argc, char *__const * __argv, __const char *__opts)); extern int opterr; extern int optind; extern int optopt; extern char *optarg; #endif #ifdef __USE_BSD /* Put the name of the current host in no more than LEN bytes of NAME. The result is null-terminated if LEN is large enough for the full name and the terminator. */ extern int __gethostname __P ((char *__name, size_t __len)); extern int gethostname __P ((char *__name, size_t __len)); /* Set the name of the current host to NAME, which is LEN bytes long. This call is restricted to the super-user. */ extern int sethostname __P ((__const char *__name, size_t __len)); /* Return the current machine's Internet number. */ extern long int gethostid __P ((void)); /* Set the current machine's Internet number to ID. This call is restricted to the super-user. */ extern int sethostid __P ((long int __id)); /* Return the number of bytes in a page. This is the system's page size, which is not necessarily the same as the hardware page size. */ extern size_t __getpagesize __P ((void)); extern size_t getpagesize __P ((void)); /* Return the maximum number of file descriptors the current process could possibly have. */ extern int __getdtablesize __P ((void)); extern int getdtablesize __P ((void)); /* Make all changes done to FD actually appear on disk. */ extern int fsync __P ((int __fd)); /* Make all changes done to all files actually appear on disk. */ extern int sync __P ((void)); /* Revoke access permissions to all processes currently communicating with the control terminal, and then send a SIGHUP signal to the process group of the control terminal. */ extern int vhangup __P ((void)); /* Turn accounting on if NAME is an existing file. The system will then write a record for each process as it terminates, to this file. If NAME is NULL, turn accounting off. This call is restricted to the super-user. */ extern int acct __P ((__const char *__name)); /* Make PATH be the root directory (the starting point for absolute paths). This call is restricted to the super-user. */ extern int chroot __P ((__const char *__path)); /* Make the block special device PATH available to the system for swapping. This call is restricted to the super-user. */ extern int swapon __P ((__const char *__path)); /* Successive calls return the shells listed in `/etc/shells'. */ extern char *getusershell __P ((void)); extern void endusershell __P ((void)); /* Discard cached info. */ extern void setusershell __P ((void)); /* Rewind and re-read the file. */ /* Prompt with PROMPT and read a string from the terminal without echoing. Uses /dev/tty if possible; otherwise stderr and stdin. */ extern char *getpass __P ((__const char *__prompt)); #endif /* Use BSD. */ /* Theses are kind of Linux specific. */ #include extern int __brk __P ((void* __end_data_segment)); extern int brk __P ((void* __end_data_segment)); extern void* __sbrk __P ((ptrdiff_t __increment)); extern void* sbrk __P ((ptrdiff_t __increment)); extern char* crypt __P((__const char *__key, __const char *__salt)); extern void encrypt __P((char __block[64], int __edflag)); extern void setkey __P((__const char *__key)); extern int ftruncate __P ((int __fildes, size_t __length)); extern int truncate __P ((__const char *__path, size_t __length)); extern int ioperm __P ((unsigned long __from, unsigned long __num, int __turn_on)); extern int iopl __P((int __level)); extern char* mktemp __P((char *__template)); extern int mkstemp __P((char *__template)); extern int nice __P ((int __val)); extern int profil __P ((char *__buf, int __bufsiz, int __offset, int __scale)); extern void usleep __P((unsigned long __usec)); extern int ustat __P ((dev_t __dev, struct ustat* __ubuf)); extern int idle __P ((void)); extern int reboot __P ((int __magic, int __magic_too, int __flag)); extern int swapoff __P ((__const char * __specialfile)); extern int uselib __P ((__const char *__filename)); extern int getdomainname __P ((char *__name, size_t __len)); extern int setdomainname __P ((__const char *__name, size_t __len)); extern char* realpath __P ((__const char *__path, char __resolved_path [])); __END_DECLS #endif /* unistd.h */ ./usr/include/rpcsvc/ 40755 1676 334 0 5522022377 12511 5ustar hjlisl./usr/include/rpcsvc/yp_prot.h100644 1676 334 24760 5433224002 14472 0ustar hjlisl/* @(#)yp_prot.h 1.15 90/01/03 Copyr 1990 Sun Microsystems, Inc */ /* * This file contains symbols and structures defining the rpc protocol * between the NIS clients and the NIS servers. The servers * are the NIS database servers, and the NIS binders. */ #ifndef _RPCSVC_YP_PROT_H #define _RPCSVC_YP_PROT_H #include #include #include /* * The following procedures are supported by the protocol: * * YPPROC_NULL() returns () takes nothing, returns nothing. This indicates * that the NIS server is alive. * * YPPROC_DOMAIN (char *) returns (bool_t) TRUE. Indicates that the * responding NIS server does serve the named domain; FALSE indicates no * support. * * YPPROC_DOMAIN_NONACK (char *) returns (TRUE) if the NIS server does serve * the named domain, otherwise does not return. Used in the broadcast case. * * YPPROC_MATCH (struct ypreq_key) returns (struct ypresp_val). Returns the * right-hand value for a passed left-hand key, within a named map and * domain. * * YPPROC_FIRST (struct ypreq_nokey) returns (struct ypresp_key_val). * Returns the first key-value pair from a named domain and map. * * YPPROC_NEXT (struct ypreq_key) returns (struct ypresp_key_val). Returns * the key-value pair following a passed key-value pair within a named * domain and map. * * YPPROC_XFR (struct ypreq_xfr) returns nothing. Indicates to a server that * a map should be updated. * * YPPROC_CLEAR takes nothing, returns nothing. Instructs a NIS server to * close the current map, so that old versions of the disk file don't get * held open. * * YPPROC_ALL (struct ypreq_nokey), returns * union switch (bool_t more) { * TRUE: (struct ypresp_key_val); * FALSE: (struct) {}; * } * * YPPROC_MASTER (struct ypreq_nokey), returns (ypresp_master) * * YPPROC_ORDER (struct ypreq_nokey), returns (ypresp_order) * * YPPROC_MAPLIST (char *), returns (struct ypmaplist *) */ /* Program and version symbols, magic numbers */ #define YPPROG ((u_long)100004) #define YPVERS ((u_long)2) #define YPVERS_ORIG ((u_long)1) #define YPMAXRECORD ((u_long)1024) #define YPMAXDOMAIN ((u_long)64) #define YPMAXMAP ((u_long)64) #define YPMAXPEER ((u_long)256) /* byte size of a large NIS packet */ #define YPMSGSZ 1600 #ifndef DATUM typedef struct { char *dptr; int dsize; } datum; #define DATUM #endif struct ypmap_parms { char *domain; /* Null string means not available */ char *map; /* Null string means not available */ unsigned long int ordernum; /* 0 means not available */ char *owner; /* Null string means not available */ }; /* * Request parameter structures */ struct ypreq_key { char *domain; char *map; datum keydat; }; struct ypreq_nokey { char *domain; char *map; }; struct ypreq_xfr { struct ypmap_parms map_parms; unsigned long transid; unsigned long proto; unsigned short port; }; #define ypxfr_domain map_parms.domain #define ypxfr_map map_parms.map #define ypxfr_ordernum map_parms.ordernum #define ypxfr_owner map_parms.owner /* * Response parameter structures */ struct ypresp_val { long unsigned status; datum valdat; }; struct ypresp_key_val { long unsigned status; datum keydat; datum valdat; }; struct ypresp_master { long unsigned status; char *master; }; struct ypresp_order { long unsigned status; unsigned long int ordernum; }; struct ypmaplist { char ypml_name[YPMAXMAP + 1]; struct ypmaplist *ypml_next; }; struct ypresp_maplist { long unsigned status; struct ypmaplist *list; }; /* * Procedure symbols. YPPROC_NULL, YPPROC_DOMAIN, and YPPROC_DOMAIN_NONACK * must keep the same values (0, 1, and 2) that they had in the first version * of the protocol. */ #define YPPROC_NULL ((u_long)0) #define YPPROC_DOMAIN ((u_long)1) #define YPPROC_DOMAIN_NONACK ((u_long)2) #define YPPROC_MATCH ((u_long)3) #define YPPROC_FIRST ((u_long)4) #define YPPROC_NEXT ((u_long)5) #define YPPROC_XFR ((u_long)6) #define YPPROC_CLEAR ((u_long)7) #define YPPROC_ALL ((u_long)8) #define YPPROC_MASTER ((u_long)9) #define YPPROC_ORDER ((u_long)10) #define YPPROC_MAPLIST ((u_long)11) /* Return status values */ #define YP_TRUE ((long)1) /* General purpose success code */ #define YP_NOMORE ((long)2) /* No more entries in map */ #define YP_FALSE ((long)0) /* General purpose failure code */ #define YP_NOMAP ((long)-1) /* No such map in domain */ #define YP_NODOM ((long)-2) /* Domain not supported */ #define YP_NOKEY ((long)-3) /* No such key in map */ #define YP_BADOP ((long)-4) /* Invalid operation */ #define YP_BADDB ((long)-5) /* Server data base is bad */ #define YP_YPERR ((long)-6) /* NIS server error */ #define YP_BADARGS ((long)-7) /* Request arguments bad */ #define YP_VERS ((long)-8) /* NIS server version mismatch - server * can't supply requested service. */ /* * Domain binding data structure, used by ypclnt package and ypserv modules. * Users of the ypclnt package (or of this protocol) don't HAVE to know about * it, but it must be available to users because _yp_dobind is a public * interface. */ struct dom_binding { struct dom_binding *dom_pnext; char dom_domain[YPMAXDOMAIN + 1]; struct sockaddr_in dom_server_addr; unsigned short int dom_server_port; int dom_socket; CLIENT *dom_client; unsigned short int dom_local_port; long int dom_vers; }; /* * Protocol between clients and NIS binder servers */ /* * The following procedures are supported by the protocol: * * YPBINDPROC_NULL() returns () * takes nothing, returns nothing * * YPBINDPROC_DOMAIN takes (char *) returns (struct ypbind_resp) * * YPBINDPROC_SETDOM takes (struct ypbind_setdom) returns nothing */ /* Program and version symbols, magic numbers */ #define YPBINDPROG ((u_long)100007) #define YPBINDVERS ((u_long)2) #define YPBINDVERS_ORIG ((u_long)1) /* Procedure symbols */ #define YPBINDPROC_NULL ((u_long)0) #define YPBINDPROC_DOMAIN ((u_long)1) #define YPBINDPROC_SETDOM ((u_long)2) /* * Response structure and overall result status codes. Success and failure * represent two separate response message types. */ enum ypbind_resptype {YPBIND_SUCC_VAL = 1, YPBIND_FAIL_VAL = 2}; struct ypbind_binding { struct in_addr ypbind_binding_addr; /* In network order */ unsigned short int ypbind_binding_port; /* In network order */ }; struct ypbind_resp { enum ypbind_resptype ypbind_status; union { unsigned long ypbind_error; struct ypbind_binding ypbind_bindinfo; } ypbind_respbody; }; /* Detailed failure reason codes for response field ypbind_error*/ #define YPBIND_ERR_ERR 1 /* Internal error */ #define YPBIND_ERR_NOSERV 2 /* No bound server for passed domain */ #define YPBIND_ERR_RESC 3 /* System resource allocation failure */ /* * Request data structure for ypbind "Set domain" procedure. */ struct ypbind_setdom { char ypsetdom_domain[YPMAXDOMAIN + 1]; struct ypbind_binding ypsetdom_binding; unsigned short ypsetdom_vers; }; #define ypsetdom_addr ypsetdom_binding.ypbind_binding_addr #define ypsetdom_port ypsetdom_binding.ypbind_binding_port /* * Protocol between clients (ypxfr, only) and yppush * yppush speaks a protocol in the transient range, which * is supplied to ypxfr as a command-line parameter when it * is activated by ypserv. */ #define YPPUSHVERS ((u_long) 1) #define YPPUSHVERS_ORIG ((u_long)1) /* Procedure symbols */ #define YPPUSHPROC_NULL ((u_long)0) #define YPPUSHPROC_XFRRESP ((u_long)1) struct yppushresp_xfr { unsigned long transid; unsigned long status; }; /* Status values for yppushresp_xfr.status */ #define YPPUSH_SUCC ((long)1) /* Success */ #define YPPUSH_AGE ((long)2) /* Master's version not newer */ #define YPPUSH_NOMAP ((long)-1) /* Can't find server for map */ #define YPPUSH_NODOM ((long)-2) /* Domain not supported */ #define YPPUSH_RSRC ((long)-3) /* Local resouce alloc failure */ #define YPPUSH_RPC ((long)-4) /* RPC failure talking to server */ #define YPPUSH_MADDR ((long)-5) /* Can't get master address */ #define YPPUSH_YPERR ((long)-6) /* NIS server/map db error */ #define YPPUSH_BADARGS ((long)-7) /* Request arguments bad */ #define YPPUSH_DBM ((long)-8) /* Local dbm operation failed */ #define YPPUSH_FILE ((long)-9) /* Local file I/O operation failed */ #define YPPUSH_SKEW ((long)-10) /* Map version skew during transfer */ #define YPPUSH_CLEAR ((long)-11) /* Can't send "Clear" req to local * ypserv */ #define YPPUSH_FORCE ((long)-12) /* No local order number in map - * use -f flag. */ #define YPPUSH_XFRERR ((long)-13) /* ypxfr error */ #define YPPUSH_REFUSED ((long)-14) /* Transfer request refused by ypserv */ struct ypresp_all { bool_t more; union { struct ypresp_key_val val; } ypresp_all_u; }; __BEGIN_DECLS extern bool_t xdr_datum __P ((XDR *__xdrs, datum * __objp)); extern bool_t xdr_ypdomain_wrap_string __P ((void)); extern bool_t xdr_ypmap_wrap_string __P ((void)); extern bool_t xdr_ypreq_key __P ((XDR *__xdrs, struct ypreq_key * __objp)); extern bool_t xdr_ypreq_nokey __P ((XDR *__xdrs, struct ypreq_nokey * __objp)); extern bool_t xdr_ypreq_xfr __P ((void)); extern bool_t xdr_ypresp_val __P ((XDR *__xdrs, struct ypresp_val * __objp)); extern bool_t xdr_ypresp_key_val __P ((XDR *__xdrs, struct ypresp_key_val * __objp)); extern bool_t xdr_ypbind_resp __P ((XDR *__xdrs, struct ypbind_resp * __objp)); extern bool_t xdr_ypbind_setdom __P ((XDR *__xdrs, struct ypbind_setdom * __objp)); extern bool_t xdr_yp_inaddr __P ((XDR *__xdrs, struct in_addr * __objp)); extern bool_t xdr_ypmap_parms __P ((void)); extern bool_t xdr_ypowner_wrap_string __P ((void)); extern bool_t xdr_yppushresp_xfr __P ((void)); extern bool_t xdr_ypresp_order __P ((XDR *__xdrs, struct ypresp_order * __objp)); extern bool_t xdr_ypresp_master __P ((XDR *__xdrs, struct ypresp_master * __objp)); extern bool_t xdr_ypall __P ((void)); extern bool_t xdr_ypresp_maplist __P ((XDR *__xdrs, struct ypresp_maplist * __objp)); extern bool_t xdr_domainname __P ((XDR *__xdrs, char * __objp)); extern bool_t xdr_peername __P ((XDR *__xdrs, char * __objp)); extern bool_t xdr_mapname __P ((XDR *__xdrs, char * __objp)); extern bool_t xdr_ypbind_binding __P ((XDR *__xdrs, struct ypbind_binding * __objp)); extern bool_t xdr_ypbind_resptype __P ((XDR *__xdrs, enum ypbind_resptype * __objp)); extern bool_t xdr_ypstat __P ((XDR *__xdrs, enum ypbind_resptype * __objp)); extern bool_t xdr_ypresp_all __P ((XDR *__xdrs, struct ypresp_all * __objp)); extern bool_t xdr_ypresp_all_seq __P ((XDR *__xdrs, u_long * __objp)); extern bool_t xdr_ypmaplist_str __P ((XDR *__xdrs, char * __objp)); extern bool_t xdr_ypmaplist __P ((XDR *__xdrs, struct ypmaplist * __objp)); __END_DECLS #endif /* _RPCSVC_YP_PROT_H */ ./usr/include/rpcsvc/ypclnt.h100644 1676 334 6226 5345735703 14305 0ustar hjlisl/* @(#)ypclnt.h 1.14 90/01/03 Copyr 1990 Sun Microsystems, Inc */ #ifndef _RPCSVC_YPCLNT_H #define _RPCSVC_YPCLNT_H #include #include #include /* * ypclnt.h * This defines the symbols used in the c language * interface to the NIS client functions. A description of this interface * can be read in ypclnt(3N). */ /* * Failure reason codes. The success condition is indicated by a functional * value of "0". */ #define YPERR_BADARGS 1 /* Args to function are bad */ #define YPERR_RPC 2 /* RPC failure */ #define YPERR_DOMAIN 3 /* Can't bind to a server which serves * this domain. */ #define YPERR_MAP 4 /* No such map in server's domain */ #define YPERR_KEY 5 /* No such key in map */ #define YPERR_YPERR 6 /* Internal NIS server or client * interface error */ #define YPERR_RESRC 7 /* Local resource allocation failure */ #define YPERR_NOMORE 8 /* No more records in map database */ #define YPERR_PMAP 9 /* Can't communicate with portmapper */ #define YPERR_YPBIND 10 /* Can't communicate with ypbind */ #define YPERR_YPSERV 11 /* Can't communicate with ypserv */ #define YPERR_NODOM 12 /* Local domain name not set */ #define YPERR_BADDB 13 /* NIS data base is bad */ #define YPERR_VERS 14 /* NIS version mismatch */ #define YPERR_ACCESS 15 /* Access violation */ #define YPERR_BUSY 16 /* Database is busy */ /* * Types of update operations */ #define YPOP_CHANGE 1 /* change, do not add */ #define YPOP_INSERT 2 /* add, do not change */ #define YPOP_DELETE 3 /* delete this entry */ #define YPOP_STORE 4 /* add, or change */ __BEGIN_DECLS /* * Data definitions */ /* * struct ypall_callback * is the arg which must be passed to yp_all */ struct ypall_callback { int (*foreach)(); /* Return non-0 to stop getting * called */ char *data; /* Opaque pointer for use of callback * function */ }; /* * External NIS client function references. */ extern int yp_bind __P ((char * __dom)); extern int _yp_dobind __P ((char *__dom, struct dom_binding **__ypdb)); extern void yp_unbind __P ((char * __dom)); extern int yp_get_default_domain __P ((char ** __domp)); extern int yp_first __P ((char * __indomain, char *__inmap, char ** __outkey, int * __outkeylen, char **outval, int * __outvallen)); extern int yp_next __P ((char * __indomain, char *__inmap, char * __inkey, int __inkeylen, char **__outkey, int *__outkeylen, char **__outval, int *__outvallen)); extern int yp_master __P ((char * __indomain, char * __inmap, char **__outname)); extern int yp_order __P ((char *__indomain, char * __inmap, int *outorder)); extern int yp_all __P ((char *__indomain, char * __inmap, struct ypall_callback *__incallback)); extern int yp_match __P ((char * __indomain, char *__inmap, char *__inkey, int __inkeylen, char **__outval, int *__outvallen)); extern char *yperr_string __P ((int __incode)); extern int ypprot_err __P ((unsigned int __incode)); extern int yp_maplist __P ((char * __indomain, struct ypmaplist **__outmaplist)); extern int _yp_check __P ((char ** __domp)); /* * Global NIS data structures */ __END_DECLS #endif /* _RPCSVC_YPCLNT_H */ ./usr/include/rpcsvc/yppasswd.h100644 1676 334 5732 5345735703 14647 0ustar hjlisl/* * Please do not edit this file. * It was generated using rpcgen. */ #ifndef _YPPASSWD_H_RPCGEN #define _YPPASSWD_H_RPCGEN #include /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for * unrestricted use provided that this legend is included on all tape * media and as a part of the software program in whole or part. Users * may copy or modify Sun RPC without charge, but are not authorized * to license or distribute it to anyone else except as part of a product or * program developed by the user or with the express written consent of * Sun Microsystems, Inc. * * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. * * Sun RPC is provided with no support and without any obligation on the * part of Sun Microsystems, Inc. to assist in its use, correction, * modification or enhancement. * * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC * OR ANY PART THEREOF. * * In no event will Sun Microsystems, Inc. be liable for any lost revenue * or profits or other special, indirect and consequential damages, even if * Sun has been advised of the possibility of such damages. * * Sun Microsystems, Inc. * 2550 Garcia Avenue * Mountain View, California 94043 */ /* * Copyright (c) 1986, 1990 by Sun Microsystems, Inc. */ /* from @(#)yppasswd.x 1.3 91/03/11 TIRPC 1.0 */ #ifndef _rpcsvc_yppasswd_h #define _rpcsvc_yppasswd_h struct yp_passwd_rec { char *pw_name; char *pw_passwd; int pw_uid; int pw_gid; char *pw_gecos; char *pw_dir; char *pw_shell; }; typedef struct yp_passwd_rec yp_passwd_rec; #ifdef __cplusplus extern "C" bool_t xdr_passwd(XDR *, yp_passwd_rec*); #elif __STDC__ extern bool_t xdr_passwd(XDR *, yp_passwd_rec*); #else /* Old Style C */ bool_t xdr_passwd(); #endif /* Old Style C */ struct yppasswd { char *oldpass; yp_passwd_rec newpw; }; typedef struct yppasswd yppasswd; #ifdef __cplusplus extern "C" bool_t xdr_yppasswd(XDR *, yppasswd*); #elif __STDC__ extern bool_t xdr_yppasswd(XDR *, yppasswd*); #else /* Old Style C */ bool_t xdr_yppasswd(); #endif /* Old Style C */ #endif /* !_rpcsvc_yppasswd_h */ #define YPPASSWDPROG ((u_long)100009) #define YPPASSWDVERS ((u_long)1) #ifdef __cplusplus #define YPPASSWDPROC_UPDATE ((u_long)1) extern "C" int * yppasswdproc_update_1(yppasswd *, CLIENT *); extern "C" int * yppasswdproc_update_1_svc(yppasswd *, struct svc_req *); #elif __STDC__ #define YPPASSWDPROC_UPDATE ((u_long)1) extern int * yppasswdproc_update_1(yppasswd *, CLIENT *); extern int * yppasswdproc_update_1_svc(yppasswd *, struct svc_req *); #else /* Old Style C */ #define YPPASSWDPROC_UPDATE ((u_long)1) extern int * yppasswdproc_update_1(); extern int * yppasswdproc_update_1_svc(); #endif /* Old Style C */ #endif /* !_YPPASSWD_H_RPCGEN */ ./usr/include/rpcsvc/klm_prot.h100644 1676 334 2722 5257243777 14627 0ustar hjlisl #define KLM_PROG ((u_long)100020) #define KLM_VERS ((u_long)1) #define KLM_TEST ((u_long)1) extern klm_testrply *klm_test_1(); #define KLM_LOCK ((u_long)2) extern klm_stat *klm_lock_1(); #define KLM_CANCEL ((u_long)3) extern klm_stat *klm_cancel_1(); #define KLM_UNLOCK ((u_long)4) extern klm_stat *klm_unlock_1(); #define LM_MAXSTRLEN 1024 enum klm_stats { klm_granted = 0, klm_denied = 1, klm_denied_nolocks = 2, klm_working = 3, }; typedef enum klm_stats klm_stats; bool_t xdr_klm_stats(); struct klm_lock { char *server_name; netobj fh; int pid; u_int l_offset; u_int l_len; }; typedef struct klm_lock klm_lock; bool_t xdr_klm_lock(); struct klm_holder { bool_t exclusive; int svid; u_int l_offset; u_int l_len; }; typedef struct klm_holder klm_holder; bool_t xdr_klm_holder(); struct klm_stat { klm_stats stat; }; typedef struct klm_stat klm_stat; bool_t xdr_klm_stat(); struct klm_testrply { klm_stats stat; union { struct klm_holder holder; } klm_testrply_u; }; typedef struct klm_testrply klm_testrply; bool_t xdr_klm_testrply(); struct klm_lockargs { bool_t block; bool_t exclusive; struct klm_lock alock; }; typedef struct klm_lockargs klm_lockargs; bool_t xdr_klm_lockargs(); struct klm_testargs { bool_t exclusive; struct klm_lock alock; }; typedef struct klm_testargs klm_testargs; bool_t xdr_klm_testargs(); struct klm_unlockargs { struct klm_lock alock; }; typedef struct klm_unlockargs klm_unlockargs; bool_t xdr_klm_unlockargs(); ./usr/include/rpcsvc/mount.h100644 1676 334 2750 5257243777 14143 0ustar hjlisl#define MNTPATHLEN 1024 #define MNTNAMLEN 255 #define FHSIZE 32 typedef char fhandle[FHSIZE]; bool_t xdr_fhandle(); struct fhstatus { u_int fhs_status; union { fhandle fhs_fhandle; } fhstatus_u; }; typedef struct fhstatus fhstatus; bool_t xdr_fhstatus(); typedef char *dirpath; bool_t xdr_dirpath(); typedef char *name; bool_t xdr_name(); typedef struct mountbody *mountlist; bool_t xdr_mountlist(); struct mountbody { name ml_hostname; dirpath ml_directory; mountlist ml_next; }; typedef struct mountbody mountbody; bool_t xdr_mountbody(); typedef struct groupnode *groups; bool_t xdr_groups(); struct groupnode { name gr_name; groups gr_next; }; typedef struct groupnode groupnode; bool_t xdr_groupnode(); typedef struct exportnode *exports; bool_t xdr_exports(); struct exportnode { dirpath ex_dir; groups ex_groups; exports ex_next; }; typedef struct exportnode exportnode; bool_t xdr_exportnode(); #define MOUNTPROG ((u_long)100005) #define MOUNTVERS ((u_long)1) #define MOUNTPROC_NULL ((u_long)0) extern void *mountproc_null_1(); #define MOUNTPROC_MNT ((u_long)1) extern fhstatus *mountproc_mnt_1(); #define MOUNTPROC_DUMP ((u_long)2) extern mountlist *mountproc_dump_1(); #define MOUNTPROC_UMNT ((u_long)3) extern void *mountproc_umnt_1(); #define MOUNTPROC_UMNTALL ((u_long)4) extern void *mountproc_umntall_1(); #define MOUNTPROC_EXPORT ((u_long)5) extern exports *mountproc_export_1(); #define MOUNTPROC_EXPORTALL ((u_long)6) extern exports *mountproc_exportall_1(); ./usr/include/rpcsvc/nfs_prot.h100644 1676 334 13432 5257243777 14652 0ustar hjlisl#define NFS_PORT 2049 #define NFS_MAXDATA 8192 #define NFS_MAXPATHLEN 1024 #define NFS_MAXNAMLEN 255 #define NFS_FHSIZE 32 #define NFS_COOKIESIZE 4 #define NFS_FIFO_DEV -1 #define NFSMODE_FMT 0170000 #define NFSMODE_DIR 0040000 #define NFSMODE_CHR 0020000 #define NFSMODE_BLK 0060000 #define NFSMODE_REG 0100000 #define NFSMODE_LNK 0120000 #define NFSMODE_SOCK 0140000 #define NFSMODE_FIFO 0010000 enum nfsstat { NFS_OK = 0, NFSERR_PERM = 1, NFSERR_NOENT = 2, NFSERR_IO = 5, NFSERR_NXIO = 6, NFSERR_ACCES = 13, NFSERR_EXIST = 17, NFSERR_NODEV = 19, NFSERR_NOTDIR = 20, NFSERR_ISDIR = 21, NFSERR_FBIG = 27, NFSERR_NOSPC = 28, NFSERR_ROFS = 30, NFSERR_NAMETOOLONG = 63, NFSERR_NOTEMPTY = 66, NFSERR_DQUOT = 69, NFSERR_STALE = 70, NFSERR_WFLUSH = 99, }; typedef enum nfsstat nfsstat; bool_t xdr_nfsstat(); enum ftype { NFNON = 0, NFREG = 1, NFDIR = 2, NFBLK = 3, NFCHR = 4, NFLNK = 5, NFSOCK = 6, NFBAD = 7, NFFIFO = 8, }; typedef enum ftype ftype; bool_t xdr_ftype(); struct nfs_fh { char data[NFS_FHSIZE]; }; typedef struct nfs_fh nfs_fh; bool_t xdr_nfs_fh(); struct nfstime { u_int seconds; u_int useconds; }; typedef struct nfstime nfstime; bool_t xdr_nfstime(); struct fattr { ftype type; u_int mode; u_int nlink; u_int uid; u_int gid; u_int size; u_int blocksize; u_int rdev; u_int blocks; u_int fsid; u_int fileid; nfstime atime; nfstime mtime; nfstime ctime; }; typedef struct fattr fattr; bool_t xdr_fattr(); struct sattr { u_int mode; u_int uid; u_int gid; u_int size; nfstime atime; nfstime mtime; }; typedef struct sattr sattr; bool_t xdr_sattr(); typedef char *filename; bool_t xdr_filename(); typedef char *nfspath; bool_t xdr_nfspath(); struct attrstat { nfsstat status; union { fattr attributes; } attrstat_u; }; typedef struct attrstat attrstat; bool_t xdr_attrstat(); struct sattrargs { nfs_fh file; sattr attributes; }; typedef struct sattrargs sattrargs; bool_t xdr_sattrargs(); struct diropargs { nfs_fh dir; filename name; }; typedef struct diropargs diropargs; bool_t xdr_diropargs(); struct diropokres { nfs_fh file; fattr attributes; }; typedef struct diropokres diropokres; bool_t xdr_diropokres(); struct diropres { nfsstat status; union { diropokres diropres; } diropres_u; }; typedef struct diropres diropres; bool_t xdr_diropres(); struct readlinkres { nfsstat status; union { nfspath data; } readlinkres_u; }; typedef struct readlinkres readlinkres; bool_t xdr_readlinkres(); struct readargs { nfs_fh file; u_int offset; u_int count; u_int totalcount; }; typedef struct readargs readargs; bool_t xdr_readargs(); struct readokres { fattr attributes; struct { u_int data_len; char *data_val; } data; }; typedef struct readokres readokres; bool_t xdr_readokres(); struct readres { nfsstat status; union { readokres reply; } readres_u; }; typedef struct readres readres; bool_t xdr_readres(); struct writeargs { nfs_fh file; u_int beginoffset; u_int offset; u_int totalcount; struct { u_int data_len; char *data_val; } data; }; typedef struct writeargs writeargs; bool_t xdr_writeargs(); struct createargs { diropargs where; sattr attributes; }; typedef struct createargs createargs; bool_t xdr_createargs(); struct renameargs { diropargs from; diropargs to; }; typedef struct renameargs renameargs; bool_t xdr_renameargs(); struct linkargs { nfs_fh from; diropargs to; }; typedef struct linkargs linkargs; bool_t xdr_linkargs(); struct symlinkargs { diropargs from; nfspath to; sattr attributes; }; typedef struct symlinkargs symlinkargs; bool_t xdr_symlinkargs(); typedef char nfscookie[NFS_COOKIESIZE]; bool_t xdr_nfscookie(); struct readdirargs { nfs_fh dir; nfscookie cookie; u_int count; }; typedef struct readdirargs readdirargs; bool_t xdr_readdirargs(); struct entry { u_int fileid; filename name; nfscookie cookie; struct entry *nextentry; }; typedef struct entry entry; bool_t xdr_entry(); struct dirlist { entry *entries; bool_t eof; }; typedef struct dirlist dirlist; bool_t xdr_dirlist(); struct readdirres { nfsstat status; union { dirlist reply; } readdirres_u; }; typedef struct readdirres readdirres; bool_t xdr_readdirres(); struct statfsokres { u_int tsize; u_int bsize; u_int blocks; u_int bfree; u_int bavail; }; typedef struct statfsokres statfsokres; bool_t xdr_statfsokres(); struct statfsres { nfsstat status; union { statfsokres reply; } statfsres_u; }; typedef struct statfsres statfsres; bool_t xdr_statfsres(); #define NFS_PROGRAM ((u_long)100003) #define NFS_VERSION ((u_long)2) #define NFSPROC_NULL ((u_long)0) extern void *nfsproc_null_2(); #define NFSPROC_GETATTR ((u_long)1) extern attrstat *nfsproc_getattr_2(); #define NFSPROC_SETATTR ((u_long)2) extern attrstat *nfsproc_setattr_2(); #define NFSPROC_ROOT ((u_long)3) extern void *nfsproc_root_2(); #define NFSPROC_LOOKUP ((u_long)4) extern diropres *nfsproc_lookup_2(); #define NFSPROC_READLINK ((u_long)5) extern readlinkres *nfsproc_readlink_2(); #define NFSPROC_READ ((u_long)6) extern readres *nfsproc_read_2(); #define NFSPROC_WRITECACHE ((u_long)7) extern void *nfsproc_writecache_2(); #define NFSPROC_WRITE ((u_long)8) extern attrstat *nfsproc_write_2(); #define NFSPROC_CREATE ((u_long)9) extern diropres *nfsproc_create_2(); #define NFSPROC_REMOVE ((u_long)10) extern nfsstat *nfsproc_remove_2(); #define NFSPROC_RENAME ((u_long)11) extern nfsstat *nfsproc_rename_2(); #define NFSPROC_LINK ((u_long)12) extern nfsstat *nfsproc_link_2(); #define NFSPROC_SYMLINK ((u_long)13) extern nfsstat *nfsproc_symlink_2(); #define NFSPROC_MKDIR ((u_long)14) extern diropres *nfsproc_mkdir_2(); #define NFSPROC_RMDIR ((u_long)15) extern nfsstat *nfsproc_rmdir_2(); #define NFSPROC_READDIR ((u_long)16) extern readdirres *nfsproc_readdir_2(); #define NFSPROC_STATFS ((u_long)17) extern statfsres *nfsproc_statfs_2(); ./usr/include/rpcsvc/nlm_prot.h100644 1676 334 7721 5257243777 14636 0ustar hjlisl#define LM_MAXSTRLEN 1024 #define MAXNAMELEN LM_MAXSTRLEN+1 enum nlm_stats { nlm_granted = 0, nlm_denied = 1, nlm_denied_nolocks = 2, nlm_blocked = 3, nlm_denied_grace_period = 4, }; typedef enum nlm_stats nlm_stats; bool_t xdr_nlm_stats(); struct nlm_holder { bool_t exclusive; int svid; netobj oh; u_int l_offset; u_int l_len; }; typedef struct nlm_holder nlm_holder; bool_t xdr_nlm_holder(); struct nlm_testrply { nlm_stats stat; union { struct nlm_holder holder; } nlm_testrply_u; }; typedef struct nlm_testrply nlm_testrply; bool_t xdr_nlm_testrply(); struct nlm_stat { nlm_stats stat; }; typedef struct nlm_stat nlm_stat; bool_t xdr_nlm_stat(); struct nlm_res { netobj cookie; nlm_stat stat; }; typedef struct nlm_res nlm_res; bool_t xdr_nlm_res(); struct nlm_testres { netobj cookie; nlm_testrply stat; }; typedef struct nlm_testres nlm_testres; bool_t xdr_nlm_testres(); struct nlm_lock { char *caller_name; netobj fh; netobj oh; int svid; u_int l_offset; u_int l_len; }; typedef struct nlm_lock nlm_lock; bool_t xdr_nlm_lock(); struct nlm_lockargs { netobj cookie; bool_t block; bool_t exclusive; struct nlm_lock alock; bool_t reclaim; int state; }; typedef struct nlm_lockargs nlm_lockargs; bool_t xdr_nlm_lockargs(); struct nlm_cancargs { netobj cookie; bool_t block; bool_t exclusive; struct nlm_lock alock; }; typedef struct nlm_cancargs nlm_cancargs; bool_t xdr_nlm_cancargs(); struct nlm_testargs { netobj cookie; bool_t exclusive; struct nlm_lock alock; }; typedef struct nlm_testargs nlm_testargs; bool_t xdr_nlm_testargs(); struct nlm_unlockargs { netobj cookie; struct nlm_lock alock; }; typedef struct nlm_unlockargs nlm_unlockargs; bool_t xdr_nlm_unlockargs(); /* * The following enums are actually bit encoded for efficient * boolean algebra.... DON'T change them..... */ enum fsh_mode { fsm_DN = 0, fsm_DR = 1, fsm_DW = 2, fsm_DRW = 3, }; typedef enum fsh_mode fsh_mode; bool_t xdr_fsh_mode(); enum fsh_access { fsa_NONE = 0, fsa_R = 1, fsa_W = 2, fsa_RW = 3, }; typedef enum fsh_access fsh_access; bool_t xdr_fsh_access(); struct nlm_share { char *caller_name; netobj fh; netobj oh; fsh_mode mode; fsh_access access; }; typedef struct nlm_share nlm_share; bool_t xdr_nlm_share(); struct nlm_shareargs { netobj cookie; nlm_share share; bool_t reclaim; }; typedef struct nlm_shareargs nlm_shareargs; bool_t xdr_nlm_shareargs(); struct nlm_shareres { netobj cookie; nlm_stats stat; int sequence; }; typedef struct nlm_shareres nlm_shareres; bool_t xdr_nlm_shareres(); struct nlm_notify { char *name; long state; }; typedef struct nlm_notify nlm_notify; bool_t xdr_nlm_notify(); #define NLM_PROG ((u_long)100021) #define NLM_VERS ((u_long)1) #define NLM_TEST ((u_long)1) extern nlm_testres *nlm_test_1(); #define NLM_LOCK ((u_long)2) extern nlm_res *nlm_lock_1(); #define NLM_CANCEL ((u_long)3) extern nlm_res *nlm_cancel_1(); #define NLM_UNLOCK ((u_long)4) extern nlm_res *nlm_unlock_1(); #define NLM_GRANTED ((u_long)5) extern nlm_res *nlm_granted_1(); #define NLM_TEST_MSG ((u_long)6) extern void *nlm_test_msg_1(); #define NLM_LOCK_MSG ((u_long)7) extern void *nlm_lock_msg_1(); #define NLM_CANCEL_MSG ((u_long)8) extern void *nlm_cancel_msg_1(); #define NLM_UNLOCK_MSG ((u_long)9) extern void *nlm_unlock_msg_1(); #define NLM_GRANTED_MSG ((u_long)10) extern void *nlm_granted_msg_1(); #define NLM_TEST_RES ((u_long)11) extern void *nlm_test_res_1(); #define NLM_LOCK_RES ((u_long)12) extern void *nlm_lock_res_1(); #define NLM_CANCEL_RES ((u_long)13) extern void *nlm_cancel_res_1(); #define NLM_UNLOCK_RES ((u_long)14) extern void *nlm_unlock_res_1(); #define NLM_GRANTED_RES ((u_long)15) extern void *nlm_granted_res_1(); #define NLM_VERSX ((u_long)3) #define NLM_SHARE ((u_long)20) extern nlm_shareres *nlm_share_3(); #define NLM_UNSHARE ((u_long)21) extern nlm_shareres *nlm_unshare_3(); #define NLM_NM_LOCK ((u_long)22) extern nlm_res *nlm_nm_lock_3(); #define NLM_FREE_ALL ((u_long)23) extern void *nlm_free_all_3(); ./usr/include/rpcsvc/rex.h100644 1676 334 6467 5257243777 13610 0ustar hjlisl#define STRINGSIZE 1024 typedef char *rexstring; bool_t xdr_rexstring(); #define SIGINT 2 #define REX_INTERACTIVE 1 struct rex_start { struct { u_int rst_cmd_len; rexstring *rst_cmd_val; } rst_cmd; rexstring rst_host; rexstring rst_fsname; rexstring rst_dirwithin; struct { u_int rst_env_len; rexstring *rst_env_val; } rst_env; u_int rst_port0; u_int rst_port1; u_int rst_port2; u_int rst_flags; }; typedef struct rex_start rex_start; bool_t xdr_rex_start(); struct rex_result { int rlt_stat; rexstring rlt_message; }; typedef struct rex_result rex_result; bool_t xdr_rex_result(); struct sgttyb { u_int four; char chars[4]; u_int flags; }; typedef struct sgttyb sgttyb; bool_t xdr_sgttyb(); #define B0 0 #define B50 1 #define B75 2 #define B110 3 #define B134 4 #define B150 5 #define B200 6 #define B300 7 #define B600 8 #define B1200 9 #define B1800 10 #define B2400 11 #define B4800 12 #define B9600 13 #define B19200 14 #define B38400 15 #define TANDEM 0x00000001 #define CBREAK 0x00000002 #define LCASE 0x00000004 #define ECHO 0x00000008 #define CRMOD 0x00000010 #define RAW 0x00000020 #define ODDP 0x00000040 #define EVENP 0x00000080 #define ANYP 0x000000c0 #define NLDELAY 0x00000300 #define NL0 0x00000000 #define NL1 0x00000100 #define NL2 0x00000200 #define NL3 0x00000300 #define TBDELAY 0x00000c00 #define TAB0 0x00000000 #define TAB1 0x00000400 #define TAB2 0x00000800 #define XTABS 0x00000c00 #define CRDELAY 0x00003000 #define CR0 0x00000000 #define CR1 0x00001000 #define CR2 0x00002000 #define CR3 0x00003000 #define VTDELAY 0x00004000 #define FF0 0x00000000 #define FF1 0x00004000 #define BSDELAY 0x00008000 #define BS0 0x00000000 #define BS1 0x00008000 #define CRTBS 0x00010000 #define PRTERA 0x00020000 #define CRTERA 0x00040000 #define TILDE 0x00080000 #define MDMBUF 0x00100000 #define LITOUT 0x00200000 #define TOSTOP 0x00400000 #define FLUSHO 0x00800000 #define NOHANG 0x01000000 #define L001000 0x02000000 #define CRTKIL 0x04000000 #define PASS8 0x08000000 #define CTLECH 0x10000000 #define PENDIN 0x20000000 #define DECCTQ 0x40000000 #define NOFLSH 0x80000000 struct tchars { u_int six; char chars[6]; }; typedef struct tchars tchars; bool_t xdr_tchars(); struct ltchars { u_int six; char chars[6]; u_int mode; }; typedef struct ltchars ltchars; bool_t xdr_ltchars(); struct rex_ttysize { int ts_lines; int ts_cols; }; typedef struct rex_ttysize rex_ttysize; bool_t xdr_rex_ttysize(); struct rex_ttymode { sgttyb basic; tchars more; ltchars yetmore; u_int andmore; }; typedef struct rex_ttymode rex_ttymode; bool_t xdr_rex_ttymode(); #define LCRTBS 0x0001 #define LPRTERA 0x0002 #define LCRTERA 0x0004 #define LTILDE 0x0008 #define LMDMBUF 0x0010 #define LLITOUT 0x0020 #define LTOSTOP 0x0040 #define LFLUSHO 0x0080 #define LNOHANG 0x0100 #define LL001000 0x0200 #define LCRTKIL 0x0400 #define LPASS8 0x0800 #define LCTLECH 0x1000 #define LPENDIN 0x2000 #define LDECCTQ 0x4000 #define LNOFLSH 0x8000 #define REXPROG ((u_long)100017) #define REXVERS ((u_long)1) #define REXPROC_START ((u_long)1) extern rex_result *rexproc_start_1(); #define REXPROC_WAIT ((u_long)2) extern rex_result *rexproc_wait_1(); #define REXPROC_MODES ((u_long)3) extern void *rexproc_modes_1(); #define REXPROC_WINCH ((u_long)4) extern void *rexproc_winch_1(); #define REXPROC_SIGNAL ((u_long)5) extern void *rexproc_signal_1(); ./usr/include/rpcsvc/rquota.h100644 1676 334 1727 5257244000 14273 0ustar hjlisl#define RQ_PATHLEN 1024 struct getquota_args { char *gqa_pathp; int gqa_uid; }; typedef struct getquota_args getquota_args; bool_t xdr_getquota_args(); struct rquota { int rq_bsize; bool_t rq_active; u_int rq_bhardlimit; u_int rq_bsoftlimit; u_int rq_curblocks; u_int rq_fhardlimit; u_int rq_fsoftlimit; u_int rq_curfiles; u_int rq_btimeleft; u_int rq_ftimeleft; }; typedef struct rquota rquota; bool_t xdr_rquota(); enum gqr_status { Q_OK = 1, Q_NOQUOTA = 2, Q_EPERM = 3, }; typedef enum gqr_status gqr_status; bool_t xdr_gqr_status(); struct getquota_rslt { gqr_status status; union { rquota gqr_rquota; } getquota_rslt_u; }; typedef struct getquota_rslt getquota_rslt; bool_t xdr_getquota_rslt(); #define RQUOTAPROG ((u_long)100011) #define RQUOTAVERS ((u_long)1) #define RQUOTAPROC_GETQUOTA ((u_long)1) extern getquota_rslt *rquotaproc_getquota_1(); #define RQUOTAPROC_GETACTIVEQUOTA ((u_long)2) extern getquota_rslt *rquotaproc_getactivequota_1(); ./usr/include/rpcsvc/rnusers.h100644 1676 334 1647 5257244000 14462 0ustar hjlisl#define MAXUSERS 100 #define MAXUTLEN 256 struct utmp { char *ut_line; char *ut_name; char *ut_host; int ut_time; }; typedef struct utmp utmp; bool_t xdr_utmp(); struct utmpidle { utmp ui_utmp; u_int ui_idle; }; typedef struct utmpidle utmpidle; bool_t xdr_utmpidle(); typedef struct { u_int utmparr_len; utmp *utmparr_val; } utmparr; bool_t xdr_utmparr(); typedef struct { u_int utmpidlearr_len; utmpidle *utmpidlearr_val; } utmpidlearr; bool_t xdr_utmpidlearr(); #define RUSERSPROG ((u_long)100002) #define RUSERSVERS_IDLE ((u_long)1) #define RUSERSPROC_NUM ((u_long)1) extern int *rusersproc_num_1(); #define RUSERSPROC_NAMES ((u_long)2) extern utmpidlearr *rusersproc_names_1(); #define RUSERSPROC_ALLNAMES ((u_long)3) extern utmpidlearr *rusersproc_allnames_1(); #define RUSERSVERS_ORIG ((u_long)2) extern int *rusersproc_num_2(); extern utmparr *rusersproc_names_2(); extern utmparr *rusersproc_allnames_2(); ./usr/include/rpcsvc/rstat.h100644 1676 334 3541 5257244000 14111 0ustar hjlisl#ifndef FSCALE /* * Scale factor for scaled integers used to count load averages. */ #define FSHIFT 8 /* bits to right of fixed binary point */ #define FSCALE (1< %#include %#include %#include #endif const MAX_MACHINE_NAME = 255; const MAX_PATH_LEN = 1024; const MAX_FILEID = 32; const IP_ADDR_TYPE = 1; typedef string bp_machine_name_t; typedef string bp_path_t; typedef string bp_fileid_t; struct ip_addr_t { char net; char host; char lh; char impno; }; union bp_address switch (int address_type) { case IP_ADDR_TYPE: ip_addr_t ip_addr; }; struct bp_whoami_arg { bp_address client_address; }; struct bp_whoami_res { bp_machine_name_t client_name; bp_machine_name_t domain_name; bp_address router_address; }; struct bp_getfile_arg { bp_machine_name_t client_name; bp_fileid_t file_id; }; struct bp_getfile_res { bp_machine_name_t server_name; bp_address server_address; bp_path_t server_path; }; program BOOTPARAMPROG { version BOOTPARAMVERS { bp_whoami_res BOOTPARAMPROC_WHOAMI(bp_whoami_arg) = 1; bp_getfile_res BOOTPARAMPROC_GETFILE(bp_getfile_arg) = 2; } = 1; } = 100026; ./usr/include/rpcsvc/klm_prot.x100644 1676 334 6636 5346410665 14646 0ustar hjlisl/* @(#)klm_prot.x 2.1 88/08/01 4.0 RPCSRC */ /* @(#)klm_prot.x 1.7 87/07/08 Copyr 1987 Sun Micro */ /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for * unrestricted use provided that this legend is included on all tape * media and as a part of the software program in whole or part. Users * may copy or modify Sun RPC without charge, but are not authorized * to license or distribute it to anyone else except as part of a product or * program developed by the user. * * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. * * Sun RPC is provided with no support and without any obligation on the * part of Sun Microsystems, Inc. to assist in its use, correction, * modification or enhancement. * * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC * OR ANY PART THEREOF. * * In no event will Sun Microsystems, Inc. be liable for any lost revenue * or profits or other special, indirect and consequential damages, even if * Sun has been advised of the possibility of such damages. * * Sun Microsystems, Inc. * 2550 Garcia Avenue * Mountain View, California 94043 */ /* * Kernel/lock manager protocol definition * Copyright (C) 1986 Sun Microsystems, Inc. * * protocol used between the UNIX kernel (the "client") and the * local lock manager. The local lock manager is a deamon running * above the kernel. */ program KLM_PROG { version KLM_VERS { klm_testrply KLM_TEST (struct klm_testargs) = 1; klm_stat KLM_LOCK (struct klm_lockargs) = 2; klm_stat KLM_CANCEL (struct klm_lockargs) = 3; /* klm_granted=> the cancel request fails due to lock is already granted */ /* klm_denied=> the cancel request successfully aborts lock request */ klm_stat KLM_UNLOCK (struct klm_unlockargs) = 4; } = 1; } = 100020; const LM_MAXSTRLEN = 1024; /* * lock manager status returns */ enum klm_stats { klm_granted = 0, /* lock is granted */ klm_denied = 1, /* lock is denied */ klm_denied_nolocks = 2, /* no lock entry available */ klm_working = 3 /* lock is being processed */ }; /* * lock manager lock identifier */ struct klm_lock { string server_name; netobj fh; /* a counted file handle */ int pid; /* holder of the lock */ unsigned l_offset; /* beginning offset of the lock */ unsigned l_len; /* byte length of the lock; * zero means through end of file */ }; /* * lock holder identifier */ struct klm_holder { bool exclusive; /* FALSE if shared lock */ int svid; /* holder of the lock (pid) */ unsigned l_offset; /* beginning offset of the lock */ unsigned l_len; /* byte length of the lock; * zero means through end of file */ }; /* * reply to KLM_LOCK / KLM_UNLOCK / KLM_CANCEL */ struct klm_stat { klm_stats stat; }; /* * reply to a KLM_TEST call */ union klm_testrply switch (klm_stats stat) { case klm_denied: struct klm_holder holder; default: /* All other cases return no arguments */ void; }; /* * arguments to KLM_LOCK */ struct klm_lockargs { bool block; bool exclusive; struct klm_lock alock; }; /* * arguments to KLM_TEST */ struct klm_testargs { bool exclusive; struct klm_lock alock; }; /* * arguments to KLM_UNLOCK */ struct klm_unlockargs { struct klm_lock alock; }; ./usr/include/rpcsvc/mount.x100644 1676 334 10415 5346410665 14167 0ustar hjlisl/* @(#)mount.x 2.1 88/08/01 4.0 RPCSRC */ /* @(#)mount.x 1.2 87/09/18 Copyr 1987 Sun Micro */ /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for * unrestricted use provided that this legend is included on all tape * media and as a part of the software program in whole or part. Users * may copy or modify Sun RPC without charge, but are not authorized * to license or distribute it to anyone else except as part of a product or * program developed by the user. * * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. * * Sun RPC is provided with no support and without any obligation on the * part of Sun Microsystems, Inc. to assist in its use, correction, * modification or enhancement. * * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC * OR ANY PART THEREOF. * * In no event will Sun Microsystems, Inc. be liable for any lost revenue * or profits or other special, indirect and consequential damages, even if * Sun has been advised of the possibility of such damages. * * Sun Microsystems, Inc. * 2550 Garcia Avenue * Mountain View, California 94043 */ /* * Protocol description for the mount program */ const MNTPATHLEN = 1024; /* maximum bytes in a pathname argument */ const MNTNAMLEN = 255; /* maximum bytes in a name argument */ const FHSIZE = 32; /* size in bytes of a file handle */ /* * The fhandle is the file handle that the server passes to the client. * All file operations are done using the file handles to refer to a file * or a directory. The file handle can contain whatever information the * server needs to distinguish an individual file. */ typedef opaque fhandle[FHSIZE]; /* * If a status of zero is returned, the call completed successfully, and * a file handle for the directory follows. A non-zero status indicates * some sort of error. The status corresponds with UNIX error numbers. */ union fhstatus switch (unsigned fhs_status) { case 0: fhandle fhs_fhandle; default: void; }; /* * The type dirpath is the pathname of a directory */ typedef string dirpath; /* * The type name is used for arbitrary names (hostnames, groupnames) */ typedef string name; /* * A list of who has what mounted */ typedef struct mountbody *mountlist; struct mountbody { name ml_hostname; dirpath ml_directory; mountlist ml_next; }; /* * A list of netgroups */ typedef struct groupnode *groups; struct groupnode { name gr_name; groups gr_next; }; /* * A list of what is exported and to whom */ typedef struct exportnode *exports; struct exportnode { dirpath ex_dir; groups ex_groups; exports ex_next; }; program MOUNTPROG { /* * Version one of the mount protocol communicates with version two * of the NFS protocol. The only connecting point is the fhandle * structure, which is the same for both protocols. */ version MOUNTVERS { /* * Does no work. It is made available in all RPC services * to allow server reponse testing and timing */ void MOUNTPROC_NULL(void) = 0; /* * If fhs_status is 0, then fhs_fhandle contains the * file handle for the directory. This file handle may * be used in the NFS protocol. This procedure also adds * a new entry to the mount list for this client mounting * the directory. * Unix authentication required. */ fhstatus MOUNTPROC_MNT(dirpath) = 1; /* * Returns the list of remotely mounted filesystems. The * mountlist contains one entry for each hostname and * directory pair. */ mountlist MOUNTPROC_DUMP(void) = 2; /* * Removes the mount list entry for the directory * Unix authentication required. */ void MOUNTPROC_UMNT(dirpath) = 3; /* * Removes all of the mount list entries for this client * Unix authentication required. */ void MOUNTPROC_UMNTALL(void) = 4; /* * Returns a list of all the exported filesystems, and which * machines are allowed to import it. */ exports MOUNTPROC_EXPORT(void) = 5; /* * Identical to MOUNTPROC_EXPORT above */ exports MOUNTPROC_EXPORTALL(void) = 6; } = 1; } = 100005; ./usr/include/rpcsvc/nfs_prot.x100644 1676 334 17004 5346410665 14660 0ustar hjlisl/* @(#)nfs_prot.x 2.1 88/08/01 4.0 RPCSRC */ /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for * unrestricted use provided that this legend is included on all tape * media and as a part of the software program in whole or part. Users * may copy or modify Sun RPC without charge, but are not authorized * to license or distribute it to anyone else except as part of a product or * program developed by the user. * * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. * * Sun RPC is provided with no support and without any obligation on the * part of Sun Microsystems, Inc. to assist in its use, correction, * modification or enhancement. * * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC * OR ANY PART THEREOF. * * In no event will Sun Microsystems, Inc. be liable for any lost revenue * or profits or other special, indirect and consequential damages, even if * Sun has been advised of the possibility of such damages. * * Sun Microsystems, Inc. * 2550 Garcia Avenue * Mountain View, California 94043 */ /* * nfs_prot.x 1.2 87/10/12 * Copyright 1987 Sun Microsystems, Inc. */ const NFS_PORT = 2049; const NFS_MAXDATA = 8192; const NFS_MAXPATHLEN = 1024; const NFS_MAXNAMLEN = 255; const NFS_FHSIZE = 32; const NFS_COOKIESIZE = 4; const NFS_FIFO_DEV = -1; /* size kludge for named pipes */ /* * File types */ const NFSMODE_FMT = 0170000; /* type of file */ const NFSMODE_DIR = 0040000; /* directory */ const NFSMODE_CHR = 0020000; /* character special */ const NFSMODE_BLK = 0060000; /* block special */ const NFSMODE_REG = 0100000; /* regular */ const NFSMODE_LNK = 0120000; /* symbolic link */ const NFSMODE_SOCK = 0140000; /* socket */ const NFSMODE_FIFO = 0010000; /* fifo */ /* * Error status */ enum nfsstat { NFS_OK= 0, /* no error */ NFSERR_PERM=1, /* Not owner */ NFSERR_NOENT=2, /* No such file or directory */ NFSERR_IO=5, /* I/O error */ NFSERR_NXIO=6, /* No such device or address */ NFSERR_ACCES=13, /* Permission denied */ NFSERR_EXIST=17, /* File exists */ NFSERR_NODEV=19, /* No such device */ NFSERR_NOTDIR=20, /* Not a directory*/ NFSERR_ISDIR=21, /* Is a directory */ NFSERR_FBIG=27, /* File too large */ NFSERR_NOSPC=28, /* No space left on device */ NFSERR_ROFS=30, /* Read-only file system */ NFSERR_NAMETOOLONG=63, /* File name too long */ NFSERR_NOTEMPTY=66, /* Directory not empty */ NFSERR_DQUOT=69, /* Disc quota exceeded */ NFSERR_STALE=70, /* Stale NFS file handle */ NFSERR_WFLUSH=99 /* write cache flushed */ }; /* * File types */ enum ftype { NFNON = 0, /* non-file */ NFREG = 1, /* regular file */ NFDIR = 2, /* directory */ NFBLK = 3, /* block special */ NFCHR = 4, /* character special */ NFLNK = 5, /* symbolic link */ NFSOCK = 6, /* unix domain sockets */ NFBAD = 7, /* unused */ NFFIFO = 8 /* named pipe */ }; /* * File access handle */ struct nfs_fh { opaque data[NFS_FHSIZE]; }; /* * Timeval */ struct nfstime { unsigned seconds; unsigned useconds; }; /* * File attributes */ struct fattr { ftype type; /* file type */ unsigned mode; /* protection mode bits */ unsigned nlink; /* # hard links */ unsigned uid; /* owner user id */ unsigned gid; /* owner group id */ unsigned size; /* file size in bytes */ unsigned blocksize; /* prefered block size */ unsigned rdev; /* special device # */ unsigned blocks; /* Kb of disk used by file */ unsigned fsid; /* device # */ unsigned fileid; /* inode # */ nfstime atime; /* time of last access */ nfstime mtime; /* time of last modification */ nfstime ctime; /* time of last change */ }; /* * File attributes which can be set */ struct sattr { unsigned mode; /* protection mode bits */ unsigned uid; /* owner user id */ unsigned gid; /* owner group id */ unsigned size; /* file size in bytes */ nfstime atime; /* time of last access */ nfstime mtime; /* time of last modification */ }; typedef string filename; typedef string nfspath; /* * Reply status with file attributes */ union attrstat switch (nfsstat status) { case NFS_OK: fattr attributes; default: void; }; struct sattrargs { nfs_fh file; sattr attributes; }; /* * Arguments for directory operations */ struct diropargs { nfs_fh dir; /* directory file handle */ filename name; /* name (up to NFS_MAXNAMLEN bytes) */ }; struct diropokres { nfs_fh file; fattr attributes; }; /* * Results from directory operation */ union diropres switch (nfsstat status) { case NFS_OK: diropokres diropres; default: void; }; union readlinkres switch (nfsstat status) { case NFS_OK: nfspath data; default: void; }; /* * Arguments to remote read */ struct readargs { nfs_fh file; /* handle for file */ unsigned offset; /* byte offset in file */ unsigned count; /* immediate read count */ unsigned totalcount; /* total read count (from this offset)*/ }; /* * Status OK portion of remote read reply */ struct readokres { fattr attributes; /* attributes, need for pagin*/ opaque data; }; union readres switch (nfsstat status) { case NFS_OK: readokres reply; default: void; }; /* * Arguments to remote write */ struct writeargs { nfs_fh file; /* handle for file */ unsigned beginoffset; /* beginning byte offset in file */ unsigned offset; /* current byte offset in file */ unsigned totalcount; /* total write count (to this offset)*/ opaque data; }; struct createargs { diropargs where; sattr attributes; }; struct renameargs { diropargs from; diropargs to; }; struct linkargs { nfs_fh from; diropargs to; }; struct symlinkargs { diropargs from; nfspath to; sattr attributes; }; typedef opaque nfscookie[NFS_COOKIESIZE]; /* * Arguments to readdir */ struct readdirargs { nfs_fh dir; /* directory handle */ nfscookie cookie; unsigned count; /* number of directory bytes to read */ }; struct entry { unsigned fileid; filename name; nfscookie cookie; entry *nextentry; }; struct dirlist { entry *entries; bool eof; }; union readdirres switch (nfsstat status) { case NFS_OK: dirlist reply; default: void; }; struct statfsokres { unsigned tsize; /* preferred transfer size in bytes */ unsigned bsize; /* fundamental file system block size */ unsigned blocks; /* total blocks in file system */ unsigned bfree; /* free blocks in fs */ unsigned bavail; /* free blocks avail to non-superuser */ }; union statfsres switch (nfsstat status) { case NFS_OK: statfsokres reply; default: void; }; /* * Remote file service routines */ program NFS_PROGRAM { version NFS_VERSION { void NFSPROC_NULL(void) = 0; attrstat NFSPROC_GETATTR(nfs_fh) = 1; attrstat NFSPROC_SETATTR(sattrargs) = 2; void NFSPROC_ROOT(void) = 3; diropres NFSPROC_LOOKUP(diropargs) = 4; readlinkres NFSPROC_READLINK(nfs_fh) = 5; readres NFSPROC_READ(readargs) = 6; void NFSPROC_WRITECACHE(void) = 7; attrstat NFSPROC_WRITE(writeargs) = 8; diropres NFSPROC_CREATE(createargs) = 9; nfsstat NFSPROC_REMOVE(diropargs) = 10; nfsstat NFSPROC_RENAME(renameargs) = 11; nfsstat NFSPROC_LINK(linkargs) = 12; nfsstat NFSPROC_SYMLINK(symlinkargs) = 13; diropres NFSPROC_MKDIR(createargs) = 14; nfsstat NFSPROC_RMDIR(diropargs) = 15; readdirres NFSPROC_READDIR(readdirargs) = 16; statfsres NFSPROC_STATFS(nfs_fh) = 17; } = 2; } = 100003; ./usr/include/rpcsvc/nlm_prot.x100644 1676 334 6624 5346410665 14646 0ustar hjlisl/* @(#)nlm_prot.x 2.1 88/08/01 4.0 RPCSRC */ /* @(#)nlm_prot.x 1.8 87/09/21 Copyr 1987 Sun Micro */ /* * Network lock manager protocol definition * Copyright (C) 1986 Sun Microsystems, Inc. * * protocol used between local lock manager and remote lock manager */ #ifdef RPC_HDR %#define LM_MAXSTRLEN 1024 %#define MAXNAMELEN LM_MAXSTRLEN+1 #endif /* * status of a call to the lock manager */ enum nlm_stats { nlm_granted = 0, nlm_denied = 1, nlm_denied_nolocks = 2, nlm_blocked = 3, nlm_denied_grace_period = 4 }; struct nlm_holder { bool exclusive; int svid; netobj oh; unsigned l_offset; unsigned l_len; }; union nlm_testrply switch (nlm_stats stat) { case nlm_denied: struct nlm_holder holder; default: void; }; struct nlm_stat { nlm_stats stat; }; struct nlm_res { netobj cookie; nlm_stat stat; }; struct nlm_testres { netobj cookie; nlm_testrply stat; }; struct nlm_lock { string caller_name; netobj fh; /* identify a file */ netobj oh; /* identify owner of a lock */ int svid; /* generated from pid for svid */ unsigned l_offset; unsigned l_len; }; struct nlm_lockargs { netobj cookie; bool block; bool exclusive; struct nlm_lock alock; bool reclaim; /* used for recovering locks */ int state; /* specify local status monitor state */ }; struct nlm_cancargs { netobj cookie; bool block; bool exclusive; struct nlm_lock alock; }; struct nlm_testargs { netobj cookie; bool exclusive; struct nlm_lock alock; }; struct nlm_unlockargs { netobj cookie; struct nlm_lock alock; }; #ifdef RPC_HDR %/* % * The following enums are actually bit encoded for efficient % * boolean algebra.... DON'T change them..... % */ #endif enum fsh_mode { fsm_DN = 0, /* deny none */ fsm_DR = 1, /* deny read */ fsm_DW = 2, /* deny write */ fsm_DRW = 3 /* deny read/write */ }; enum fsh_access { fsa_NONE = 0, /* for completeness */ fsa_R = 1, /* read only */ fsa_W = 2, /* write only */ fsa_RW = 3 /* read/write */ }; struct nlm_share { string caller_name; netobj fh; netobj oh; fsh_mode mode; fsh_access access; }; struct nlm_shareargs { netobj cookie; nlm_share share; bool reclaim; }; struct nlm_shareres { netobj cookie; nlm_stats stat; int sequence; }; struct nlm_notify { string name; long state; }; /* * Over-the-wire protocol used between the network lock managers */ program NLM_PROG { version NLM_VERS { nlm_testres NLM_TEST(struct nlm_testargs) = 1; nlm_res NLM_LOCK(struct nlm_lockargs) = 2; nlm_res NLM_CANCEL(struct nlm_cancargs) = 3; nlm_res NLM_UNLOCK(struct nlm_unlockargs) = 4; /* * remote lock manager call-back to grant lock */ nlm_res NLM_GRANTED(struct nlm_testargs)= 5; /* * message passing style of requesting lock */ void NLM_TEST_MSG(struct nlm_testargs) = 6; void NLM_LOCK_MSG(struct nlm_lockargs) = 7; void NLM_CANCEL_MSG(struct nlm_cancargs) =8; void NLM_UNLOCK_MSG(struct nlm_unlockargs) = 9; void NLM_GRANTED_MSG(struct nlm_testargs) = 10; void NLM_TEST_RES(nlm_testres) = 11; void NLM_LOCK_RES(nlm_res) = 12; void NLM_CANCEL_RES(nlm_res) = 13; void NLM_UNLOCK_RES(nlm_res) = 14; void NLM_GRANTED_RES(nlm_res) = 15; } = 1; version NLM_VERSX { nlm_shareres NLM_SHARE(nlm_shareargs) = 20; nlm_shareres NLM_UNSHARE(nlm_shareargs) = 21; nlm_res NLM_NM_LOCK(nlm_lockargs) = 22; void NLM_FREE_ALL(nlm_notify) = 23; } = 3; } = 100021; ./usr/include/rpcsvc/rex.x100644 1676 334 15713 5346410665 13631 0ustar hjlisl/* @(#)rex.x 2.1 88/08/01 4.0 RPCSRC */ /* @(#)rex.x 1.3 87/09/18 Copyr 1987 Sun Micro */ /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for * unrestricted use provided that this legend is included on all tape * media and as a part of the software program in whole or part. Users * may copy or modify Sun RPC without charge, but are not authorized * to license or distribute it to anyone else except as part of a product or * program developed by the user. * * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. * * Sun RPC is provided with no support and without any obligation on the * part of Sun Microsystems, Inc. to assist in its use, correction, * modification or enhancement. * * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC * OR ANY PART THEREOF. * * In no event will Sun Microsystems, Inc. be liable for any lost revenue * or profits or other special, indirect and consequential damages, even if * Sun has been advised of the possibility of such damages. * * Sun Microsystems, Inc. * 2550 Garcia Avenue * Mountain View, California 94043 */ /* * Remote execution (rex) protocol specification */ const STRINGSIZE = 1024; typedef string rexstring<1024>; /* * values to pass to REXPROC_SIGNAL */ const SIGINT = 2; /* interrupt */ /* * Values for rst_flags, below */ const REX_INTERACTIVE = 1; /* interactive mode */ struct rex_start { rexstring rst_cmd<>; /* list of command and args */ rexstring rst_host; /* working directory host name */ rexstring rst_fsname; /* working directory file system name */ rexstring rst_dirwithin;/* working directory within file system */ rexstring rst_env<>; /* list of environment */ unsigned int rst_port0; /* port for stdin */ unsigned int rst_port1; /* port for stdout */ unsigned int rst_port2; /* port for stderr */ unsigned int rst_flags; /* options - see const above */ }; struct rex_result { int rlt_stat; /* integer status code */ rexstring rlt_message; /* string message for human consumption */ }; struct sgttyb { unsigned four; /* always equals 4 */ opaque chars[4]; /* chars[0] == input speed */ /* chars[1] == output speed */ /* chars[2] == kill character */ /* chars[3] == erase character */ unsigned flags; }; /* values for speeds above (baud rates) */ const B0 = 0; const B50 = 1; const B75 = 2; const B110 = 3; const B134 = 4; const B150 = 5; const B200 = 6; const B300 = 7; const B600 = 8; const B1200 = 9; const B1800 = 10; const B2400 = 11; const B4800 = 12; const B9600 = 13; const B19200 = 14; const B38400 = 15; /* values for flags above */ const TANDEM = 0x00000001; /* send stopc on out q full */ const CBREAK = 0x00000002; /* half-cooked mode */ const LCASE = 0x00000004; /* simulate lower case */ const ECHO = 0x00000008; /* echo input */ const CRMOD = 0x00000010; /* map \r to \r\n on output */ const RAW = 0x00000020; /* no i/o processing */ const ODDP = 0x00000040; /* get/send odd parity */ const EVENP = 0x00000080; /* get/send even parity */ const ANYP = 0x000000c0; /* get any parity/send none */ const NLDELAY = 0x00000300; /* \n delay */ const NL0 = 0x00000000; const NL1 = 0x00000100; /* tty 37 */ const NL2 = 0x00000200; /* vt05 */ const NL3 = 0x00000300; const TBDELAY = 0x00000c00; /* horizontal tab delay */ const TAB0 = 0x00000000; const TAB1 = 0x00000400; /* tty 37 */ const TAB2 = 0x00000800; const XTABS = 0x00000c00; /* expand tabs on output */ const CRDELAY = 0x00003000; /* \r delay */ const CR0 = 0x00000000; const CR1 = 0x00001000; /* tn 300 */ const CR2 = 0x00002000; /* tty 37 */ const CR3 = 0x00003000; /* concept 100 */ const VTDELAY = 0x00004000; /* vertical tab delay */ const FF0 = 0x00000000; const FF1 = 0x00004000; /* tty 37 */ const BSDELAY = 0x00008000; /* \b delay */ const BS0 = 0x00000000; const BS1 = 0x00008000; const CRTBS = 0x00010000; /* do backspacing for crt */ const PRTERA = 0x00020000; /* \ ... / erase */ const CRTERA = 0x00040000; /* " \b " to wipe out char */ const TILDE = 0x00080000; /* hazeltine tilde kludge */ const MDMBUF = 0x00100000; /* start/stop output on carrier intr */ const LITOUT = 0x00200000; /* literal output */ const TOSTOP = 0x00400000; /* SIGTTOU on background output */ const FLUSHO = 0x00800000; /* flush output to terminal */ const NOHANG = 0x01000000; /* no SIGHUP on carrier drop */ const L001000 = 0x02000000; const CRTKIL = 0x04000000; /* kill line with " \b " */ const PASS8 = 0x08000000; const CTLECH = 0x10000000; /* echo control chars as ^X */ const PENDIN = 0x20000000; /* tp->t_rawq needs reread */ const DECCTQ = 0x40000000; /* only ^Q starts after ^S */ const NOFLSH = 0x80000000; /* no output flush on signal */ struct tchars { unsigned six; /* always equals 6 */ opaque chars[6]; /* chars[0] == interrupt char */ /* chars[1] == quit char */ /* chars[2] == start output char */ /* chars[3] == stop output char */ /* chars[4] == end-of-file char */ /* chars[5] == input delimeter (like nl) */ }; struct ltchars { unsigned six; /* always equals 6 */ opaque chars[6]; /* chars[0] == stop process signal */ /* chars[1] == delayed stop process signal */ /* chars[2] == reprint line */ /* chars[3] == flush output */ /* chars[4] == word erase */ /* chars[5] == literal next character */ unsigned mode; }; struct rex_ttysize { int ts_lines; int ts_cols; }; struct rex_ttymode { sgttyb basic; /* standard unix tty flags */ tchars more; /* interrupt, kill characters, etc. */ ltchars yetmore; /* special Berkeley characters */ unsigned andmore; /* and Berkeley modes */ }; /* values for andmore above */ const LCRTBS = 0x0001; /* do backspacing for crt */ const LPRTERA = 0x0002; /* \ ... / erase */ const LCRTERA = 0x0004; /* " \b " to wipe out char */ const LTILDE = 0x0008; /* hazeltine tilde kludge */ const LMDMBUF = 0x0010; /* start/stop output on carrier intr */ const LLITOUT = 0x0020; /* literal output */ const LTOSTOP = 0x0040; /* SIGTTOU on background output */ const LFLUSHO = 0x0080; /* flush output to terminal */ const LNOHANG = 0x0100; /* no SIGHUP on carrier drop */ const LL001000 = 0x0200; const LCRTKIL = 0x0400; /* kill line with " \b " */ const LPASS8 = 0x0800; const LCTLECH = 0x1000; /* echo control chars as ^X */ const LPENDIN = 0x2000; /* needs reread */ const LDECCTQ = 0x4000; /* only ^Q starts after ^S */ const LNOFLSH = 0x8000; /* no output flush on signal */ program REXPROG { version REXVERS { /* * Start remote execution */ rex_result REXPROC_START(rex_start) = 1; /* * Wait for remote execution to terminate */ rex_result REXPROC_WAIT(void) = 2; /* * Send tty modes */ void REXPROC_MODES(rex_ttymode) = 3; /* * Send window size change */ void REXPROC_WINCH(rex_ttysize) = 4; /* * Send other signal */ void REXPROC_SIGNAL(int) = 5; } = 1; } = 100017; ./usr/include/rpcsvc/rnusers.x100644 1676 334 4147 5346410665 14513 0ustar hjlisl/* @(#)rnusers.x 2.1 88/08/01 4.0 RPCSRC */ /* @(#)rnusers.x 1.2 87/09/20 Copyr 1987 Sun Micro */ /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for * unrestricted use provided that this legend is included on all tape * media and as a part of the software program in whole or part. Users * may copy or modify Sun RPC without charge, but are not authorized * to license or distribute it to anyone else except as part of a product or * program developed by the user. * * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. * * Sun RPC is provided with no support and without any obligation on the * part of Sun Microsystems, Inc. to assist in its use, correction, * modification or enhancement. * * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC * OR ANY PART THEREOF. * * In no event will Sun Microsystems, Inc. be liable for any lost revenue * or profits or other special, indirect and consequential damages, even if * Sun has been advised of the possibility of such damages. * * Sun Microsystems, Inc. * 2550 Garcia Avenue * Mountain View, California 94043 */ /* * Find out about remote users */ const MAXUSERS = 100; const MAXUTLEN = 256; struct utmp { string ut_line; string ut_name; string ut_host; int ut_time; }; struct utmpidle { utmp ui_utmp; unsigned int ui_idle; }; typedef utmp utmparr; typedef utmpidle utmpidlearr; program RUSERSPROG { /* * Includes idle information */ version RUSERSVERS_IDLE { int RUSERSPROC_NUM(void) = 1; utmpidlearr RUSERSPROC_NAMES(void) = 2; utmpidlearr RUSERSPROC_ALLNAMES(void) = 3; } = 1; /* * Old version does not include idle information */ version RUSERSVERS_ORIG { int RUSERSPROC_NUM(void) = 1; utmparr RUSERSPROC_NAMES(void) = 2; utmparr RUSERSPROC_ALLNAMES(void) = 3; } = 2; } = 100002; ./usr/include/rpcsvc/rquota.x100644 1676 334 3041 5346410665 14315 0ustar hjlisl/* @(#)rquota.x 2.1 88/08/01 4.0 RPCSRC */ /* @(#)rquota.x 1.2 87/09/20 Copyr 1987 Sun Micro */ /* * Remote quota protocol * Requires unix authentication */ const RQ_PATHLEN = 1024; struct getquota_args { string gqa_pathp; /* path to filesystem of interest */ int gqa_uid; /* inquire about quota for uid */ }; /* * remote quota structure */ struct rquota { int rq_bsize; /* block size for block counts */ bool rq_active; /* indicates whether quota is active */ unsigned int rq_bhardlimit; /* absolute limit on disk blks alloc */ unsigned int rq_bsoftlimit; /* preferred limit on disk blks */ unsigned int rq_curblocks; /* current block count */ unsigned int rq_fhardlimit; /* absolute limit on allocated files */ unsigned int rq_fsoftlimit; /* preferred file limit */ unsigned int rq_curfiles; /* current # allocated files */ unsigned int rq_btimeleft; /* time left for excessive disk use */ unsigned int rq_ftimeleft; /* time left for excessive files */ }; enum gqr_status { Q_OK = 1, /* quota returned */ Q_NOQUOTA = 2, /* noquota for uid */ Q_EPERM = 3 /* no permission to access quota */ }; union getquota_rslt switch (gqr_status status) { case Q_OK: rquota gqr_rquota; /* valid if status == Q_OK */ case Q_NOQUOTA: void; case Q_EPERM: void; }; program RQUOTAPROG { version RQUOTAVERS { /* * Get all quotas */ getquota_rslt RQUOTAPROC_GETQUOTA(getquota_args) = 1; /* * Get active quotas only */ getquota_rslt RQUOTAPROC_GETACTIVEQUOTA(getquota_args) = 2; } = 1; } = 100011; ./usr/include/rpcsvc/rstat.x100644 1676 334 7156 5346410665 14152 0ustar hjlisl/* @(#)rstat.x 2.2 88/08/01 4.0 RPCSRC */ /* @(#)rstat.x 1.2 87/09/18 Copyr 1987 Sun Micro */ /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for * unrestricted use provided that this legend is included on all tape * media and as a part of the software program in whole or part. Users * may copy or modify Sun RPC without charge, but are not authorized * to license or distribute it to anyone else except as part of a product or * program developed by the user. * * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. * * Sun RPC is provided with no support and without any obligation on the * part of Sun Microsystems, Inc. to assist in its use, correction, * modification or enhancement. * * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC * OR ANY PART THEREOF. * * In no event will Sun Microsystems, Inc. be liable for any lost revenue * or profits or other special, indirect and consequential damages, even if * Sun has been advised of the possibility of such damages. * * Sun Microsystems, Inc. * 2550 Garcia Avenue * Mountain View, California 94043 */ /* * Gather statistics on remote machines */ #ifdef RPC_HDR %#ifndef FSCALE %/* % * Scale factor for scaled integers used to count load averages. % */ %#define FSHIFT 8 /* bits to right of fixed binary point */ %#define FSCALE (1<; }; struct my_id { string my_name; /* name of the site iniates the monitoring request*/ int my_prog; /* rpc program # of the requesting process */ int my_vers; /* rpc version # of the requesting process */ int my_proc; /* rpc procedure # of the requesting process */ }; struct mon_id { string mon_name; /* name of the site to be monitored */ struct my_id my_id; }; struct mon{ struct mon_id mon_id; opaque priv[16]; /* private information to store at monitor for requesting process */ }; /* * state # of status monitor monitonically increases each time * status of the site changes: * an even number (>= 0) indicates the site is down and * an odd number (> 0) indicates the site is up; */ struct sm_stat { int state; /* state # of status monitor */ }; enum res { stat_succ = 0, /* status monitor agrees to monitor */ stat_fail = 1 /* status monitor cannot monitor */ }; struct sm_stat_res { res res_stat; int state; }; /* * structure of the status message sent back by the status monitor * when monitor site status changes */ struct status { string mon_name; int state; opaque priv[16]; /* stored private information */ }; ./usr/include/rpcsvc/spray.x100644 1676 334 4276 5346410665 14153 0ustar hjlisl/* @(#)spray.x 2.1 88/08/01 4.0 RPCSRC */ /* @(#)spray.x 1.2 87/09/18 Copyr 1987 Sun Micro */ /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for * unrestricted use provided that this legend is included on all tape * media and as a part of the software program in whole or part. Users * may copy or modify Sun RPC without charge, but are not authorized * to license or distribute it to anyone else except as part of a product or * program developed by the user. * * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. * * Sun RPC is provided with no support and without any obligation on the * part of Sun Microsystems, Inc. to assist in its use, correction, * modification or enhancement. * * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC * OR ANY PART THEREOF. * * In no event will Sun Microsystems, Inc. be liable for any lost revenue * or profits or other special, indirect and consequential damages, even if * Sun has been advised of the possibility of such damages. * * Sun Microsystems, Inc. * 2550 Garcia Avenue * Mountain View, California 94043 */ /* * Spray a server with packets * Useful for testing flakiness of network interfaces */ const SPRAYMAX = 8845; /* max amount can spray */ /* * GMT since 0:00, 1 January 1970 */ struct spraytimeval { unsigned int sec; unsigned int usec; }; /* * spray statistics */ struct spraycumul { unsigned int counter; spraytimeval clock; }; /* * spray data */ typedef opaque sprayarr; program SPRAYPROG { version SPRAYVERS { /* * Just throw away the data and increment the counter * This call never returns, so the client should always * time it out. */ void SPRAYPROC_SPRAY(sprayarr) = 1; /* * Get the value of the counter and elapsed time since * last CLEAR. */ spraycumul SPRAYPROC_GET(void) = 2; /* * Clear the counter and reset the elapsed time */ void SPRAYPROC_CLEAR(void) = 3; } = 1; } = 100012; ./usr/include/rpcsvc/yp.x100644 1676 334 13762 5346410665 13465 0ustar hjlisl/* @(#)yp.x 2.1 88/08/01 4.0 RPCSRC */ /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for * unrestricted use provided that this legend is included on all tape * media and as a part of the software program in whole or part. Users * may copy or modify Sun RPC without charge, but are not authorized * to license or distribute it to anyone else except as part of a product or * program developed by the user. * * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. * * Sun RPC is provided with no support and without any obligation on the * part of Sun Microsystems, Inc. to assist in its use, correction, * modification or enhancement. * * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC * OR ANY PART THEREOF. * * In no event will Sun Microsystems, Inc. be liable for any lost revenue * or profits or other special, indirect and consequential damages, even if * Sun has been advised of the possibility of such damages. * * Sun Microsystems, Inc. * 2550 Garcia Avenue * Mountain View, California 94043 */ /* * Protocol description file for the Yellow Pages Service */ const YPMAXRECORD = 1024; const YPMAXDOMAIN = 64; const YPMAXMAP = 64; const YPMAXPEER = 64; enum ypstat { YP_TRUE = 1, YP_NOMORE = 2, YP_FALSE = 0, YP_NOMAP = -1, YP_NODOM = -2, YP_NOKEY = -3, YP_BADOP = -4, YP_BADDB = -5, YP_YPERR = -6, YP_BADARGS = -7, YP_VERS = -8 }; enum ypxfrstat { YPXFR_SUCC = 1, YPXFR_AGE = 2, YPXFR_NOMAP = -1, YPXFR_NODOM = -2, YPXFR_RSRC = -3, YPXFR_RPC = -4, YPXFR_MADDR = -5, YPXFR_YPERR = -6, YPXFR_BADARGS = -7, YPXFR_DBM = -8, YPXFR_FILE = -9, YPXFR_SKEW = -10, YPXFR_CLEAR = -11, YPXFR_FORCE = -12, YPXFR_XFRERR = -13, YPXFR_REFUSED = -14 }; typedef string domainname; typedef string mapname; typedef string peername; typedef opaque keydat; typedef opaque valdat; struct ypmap_parms { domainname domain; mapname map; unsigned int ordernum; peername peer; }; struct ypreq_key { domainname domain; mapname map; keydat key; }; struct ypreq_nokey { domainname domain; mapname map; }; struct ypreq_xfr { ypmap_parms map_parms; unsigned int transid; unsigned int prog; unsigned int port; }; struct ypresp_val { ypstat stat; valdat val; }; struct ypresp_key_val { ypstat stat; keydat key; valdat val; }; struct ypresp_master { ypstat stat; peername peer; }; struct ypresp_order { ypstat stat; unsigned int ordernum; }; union ypresp_all switch (bool more) { case TRUE: ypresp_key_val val; case FALSE: void; }; struct ypresp_xfr { unsigned int transid; ypxfrstat xfrstat; }; struct ypmaplist { mapname map; ypmaplist *next; }; struct ypresp_maplist { ypstat stat; ypmaplist *maps; }; enum yppush_status { YPPUSH_SUCC = 1, /* Success */ YPPUSH_AGE = 2, /* Master's version not newer */ YPPUSH_NOMAP = -1, /* Can't find server for map */ YPPUSH_NODOM = -2, /* Domain not supported */ YPPUSH_RSRC = -3, /* Local resource alloc failure */ YPPUSH_RPC = -4, /* RPC failure talking to server */ YPPUSH_MADDR = -5, /* Can't get master address */ YPPUSH_YPERR = -6, /* YP server/map db error */ YPPUSH_BADARGS = -7, /* Request arguments bad */ YPPUSH_DBM = -8, /* Local dbm operation failed */ YPPUSH_FILE = -9, /* Local file I/O operation failed */ YPPUSH_SKEW = -10, /* Map version skew during transfer */ YPPUSH_CLEAR = -11, /* Can't send "Clear" req to local ypserv */ YPPUSH_FORCE = -12, /* No local order number in map use -f flag. */ YPPUSH_XFRERR = -13, /* ypxfr error */ YPPUSH_REFUSED = -14 /* Transfer request refused by ypserv */ }; struct yppushresp_xfr { unsigned transid; yppush_status status; }; /* * Response structure and overall result status codes. Success and failure * represent two separate response message types. */ enum ypbind_resptype { YPBIND_SUCC_VAL = 1, YPBIND_FAIL_VAL = 2 }; struct ypbind_binding { opaque ypbind_binding_addr[4]; /* In network order */ opaque ypbind_binding_port[2]; /* In network order */ }; union ypbind_resp switch (ypbind_resptype ypbind_status) { case YPBIND_FAIL_VAL: unsigned ypbind_error; case YPBIND_SUCC_VAL: ypbind_binding ypbind_bindinfo; }; /* Detailed failure reason codes for response field ypbind_error*/ const YPBIND_ERR_ERR = 1; /* Internal error */ const YPBIND_ERR_NOSERV = 2; /* No bound server for passed domain */ const YPBIND_ERR_RESC = 3; /* System resource allocation failure */ /* * Request data structure for ypbind "Set domain" procedure. */ struct ypbind_setdom { domainname ypsetdom_domain; ypbind_binding ypsetdom_binding; unsigned ypsetdom_vers; }; /* * YP access protocol */ program YPPROG { version YPVERS { void YPPROC_NULL(void) = 0; bool YPPROC_DOMAIN(domainname) = 1; bool YPPROC_DOMAIN_NONACK(domainname) = 2; ypresp_val YPPROC_MATCH(ypreq_key) = 3; ypresp_key_val YPPROC_FIRST(ypreq_key) = 4; ypresp_key_val YPPROC_NEXT(ypreq_key) = 5; ypresp_xfr YPPROC_XFR(ypreq_xfr) = 6; void YPPROC_CLEAR(void) = 7; ypresp_all YPPROC_ALL(ypreq_nokey) = 8; ypresp_master YPPROC_MASTER(ypreq_nokey) = 9; ypresp_order YPPROC_ORDER(ypreq_nokey) = 10; ypresp_maplist YPPROC_MAPLIST(domainname) = 11; } = 2; } = 100004; /* * YPPUSHPROC_XFRRESP is the callback routine for result of YPPROC_XFR */ program YPPUSH_XFRRESPPROG { version YPPUSH_XFRRESPVERS { void YPPUSHPROC_NULL(void) = 0; yppushresp_xfr YPPUSHPROC_XFRRESP(void) = 1; } = 1; } = 0x40000000; /* transient: could be anything up to 0x5fffffff */ /* * YP binding protocol */ program YPBINDPROG { version YPBINDVERS { void YPBINDPROC_NULL(void) = 0; ypbind_resp YPBINDPROC_DOMAIN(domainname) = 1; void YPBINDPROC_SETDOM(ypbind_setdom) = 2; } = 2; } = 100007; ./usr/include/rpcsvc/bootparam_prot.x100644 1676 334 5407 5346410664 16041 0ustar hjlisl/* @(#)bootparam_prot.x 2.1 88/08/01 4.0 RPCSRC */ /* @(#)bootparam_prot.x 1.2 87/06/24 Copyr 1987 Sun Micro */ /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for * unrestricted use provided that this legend is included on all tape * media and as a part of the software program in whole or part. Users * may copy or modify Sun RPC without charge, but are not authorized * to license or distribute it to anyone else except as part of a product or * program developed by the user. * * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. * * Sun RPC is provided with no support and without any obligation on the * part of Sun Microsystems, Inc. to assist in its use, correction, * modification or enhancement. * * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC * OR ANY PART THEREOF. * * In no event will Sun Microsystems, Inc. be liable for any lost revenue * or profits or other special, indirect and consequential damages, even if * Sun has been advised of the possibility of such damages. * * Sun Microsystems, Inc. * 2550 Garcia Avenue * Mountain View, California 94043 */ /* * RPC for bootparms service. * There are two procedures: * WHOAMI takes a net address and returns a client name and also a * likely net address for routing * GETFILE takes a client name and file identifier and returns the * server name, server net address and pathname for the file. * file identifiers typically include root, swap, pub and dump */ #ifdef RPC_HDR %#include %#include %#include %#include #endif const MAX_MACHINE_NAME = 255; const MAX_PATH_LEN = 1024; const MAX_FILEID = 32; const IP_ADDR_TYPE = 1; typedef string bp_machine_name_t; typedef string bp_path_t; typedef string bp_fileid_t; struct ip_addr_t { char net; char host; char lh; char impno; }; union bp_address switch (int address_type) { case IP_ADDR_TYPE: ip_addr_t ip_addr; }; struct bp_whoami_arg { bp_address client_address; }; struct bp_whoami_res { bp_machine_name_t client_name; bp_machine_name_t domain_name; bp_address router_address; }; struct bp_getfile_arg { bp_machine_name_t client_name; bp_fileid_t file_id; }; struct bp_getfile_res { bp_machine_name_t server_name; bp_address server_address; bp_path_t server_path; }; program BOOTPARAMPROG { version BOOTPARAMVERS { bp_whoami_res BOOTPARAMPROC_WHOAMI(bp_whoami_arg) = 1; bp_getfile_res BOOTPARAMPROC_GETFILE(bp_getfile_arg) = 2; } = 1; } = 100026; ./usr/include/utime.h100644 1676 334 410 5473226015 12555 0ustar hjlisl#ifndef _UTIME_H #define _UTIME_H #include #include /* I know - shouldn't do this, but .. */ #include __BEGIN_DECLS extern int utime __P ((__const char *__filename, struct utimbuf *__utimebuf)); __END_DECLS #endif ./usr/include/utmp.h100644 1676 334 2660 5550021605 12442 0ustar hjlisl/* utmp.h for Linux, by poe@daimi.aau.dk */ #ifndef UTMP_H #define UTMP_H #include #include #include #include #define UTMP_FILE _PATH_UTMP #define WTMP_FILE _PATH_WTMP #define UTMP_FILENAME UTMP_FILE #define WTMP_FILENAME WTMP_FILE /* defines for the ut_type field */ #define UT_UNKNOWN 0 /* size of user name */ #define UT_NAMESIZE 8 #define UT_LINESIZE 12 #define UT_HOSTSIZE 16 #define RUN_LVL 1 #define BOOT_TIME 2 #define NEW_TIME 3 #define OLD_TIME 4 #define INIT_PROCESS 5 #define LOGIN_PROCESS 6 #define USER_PROCESS 7 #define DEAD_PROCESS 8 struct utmp { short ut_type; /* type of login */ pid_t ut_pid; /* pid of login-process */ char ut_line[UT_LINESIZE]; /* devicename of tty -"/dev/", null-term */ char ut_id[2]; /* abbrev. ttyname, as 01, s1 etc. */ time_t ut_time; /* logintime */ char ut_user[UT_NAMESIZE]; /* username, not null-term */ char ut_host[UT_HOSTSIZE]; /* hostname for remote login... */ long ut_addr; /* IP addr of remote host */ }; #define ut_name ut_user __BEGIN_DECLS extern void setutent __P ((void)); extern void utmpname __P ((__const char *)); extern struct utmp *getutent __P ((void)); extern struct utmp *getutid __P ((struct utmp *)); extern struct utmp *getutline __P ((struct utmp *)); extern void pututline __P ((struct utmp *)); extern struct utmp *_getutline __P ((struct utmp *)); extern void endutent __P ((void)); __END_DECLS #endif ./usr/include/values.h100644 1676 334 13600 5365434310 12775 0ustar hjlisl/* Copyright (C) 1988 Free Software Foundation written by Doug Lea (dl@rocky.oswego.edu) This file is part of the GNU C++ Library. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef _VALUES_H #define _VALUES_H 1 #define BITSPERBYTE 8 #define BITS(type) (BITSPERBYTE * (int)sizeof(type)) /* Rename the above to __BITS so it doesn't intrude on users' namespace? */ #define CHARBITS BITS(char) #define SHORTBITS BITS(short) #define INTBITS BITS(int) #define LONGBITS BITS(long) #define PTRBITS BITS(char*) #define DOUBLEBITS BITS(double) #define FLOATBITS BITS(float) #define MINSHORT ((short)(1 << (SHORTBITS - 1))) #define MININT (1 << (INTBITS - 1)) #define MINLONG (1L << (LONGBITS - 1)) #define MAXSHORT ((short)~MINSHORT) #define MAXINT (~MININT) #define MAXLONG (~MINLONG) #define HIBITS MINSHORT #define HIBITL MINLONG #if defined(__sun__) || defined(hp300) || defined(hpux) || defined(masscomp) || defined(sgi) #ifdef masscomp #define MAXDOUBLE \ ({ \ double maxdouble_val; \ \ __asm ("fmove%.d #0x7fefffffffffffff,%0" /* Max double */ \ : "=f" (maxdouble_val) \ : /* no inputs */); \ maxdouble_val; \ }) #define MAXFLOAT ((float) 3.40e+38) #else #define MAXDOUBLE 1.79769313486231470e+308 #define MAXFLOAT ((float)3.40282346638528860e+38) #endif #define MINDOUBLE 4.94065645841246544e-324 #define MINFLOAT ((float)1.40129846432481707e-45) #define _IEEE 1 #define _DEXPLEN 11 #define _FEXPLEN 8 #define _HIDDENBIT 1 #define DMINEXP (-(DMAXEXP + DSIGNIF - _HIDDENBIT - 3)) #define FMINEXP (-(FMAXEXP + FSIGNIF - _HIDDENBIT - 3)) #define DMAXEXP ((1 << _DEXPLEN - 1) - 1 + _IEEE) #define FMAXEXP ((1 << _FEXPLEN - 1) - 1 + _IEEE) #elif defined(sony) #define MAXDOUBLE 1.79769313486231470e+308 #define MAXFLOAT ((float)3.40282346638528860e+38) #define MINDOUBLE 2.2250738585072010e-308 #define MINFLOAT ((float)1.17549435e-38) #define _IEEE 1 #define _DEXPLEN 11 #define _FEXPLEN 8 #define _HIDDENBIT 1 #define DMINEXP (-(DMAXEXP + DSIGNIF - _HIDDENBIT - 3)) #define FMINEXP (-(FMAXEXP + FSIGNIF - _HIDDENBIT - 3)) #define DMAXEXP ((1 << _DEXPLEN - 1) - 1 + _IEEE) #define FMAXEXP ((1 << _FEXPLEN - 1) - 1 + _IEEE) #elif defined(sequent) extern double _maxdouble, _mindouble; extern float _maxfloat, _minfloat; #define MAXDOUBLE _maxdouble #define MAXFLOAT _maxfloat #define MINDOUBLE _mindouble #define MINFLOAT _minfloat #define _IEEE 1 #define _DEXPLEN 11 #define _FEXPLEN 8 #define _HIDDENBIT 1 #define DMINEXP (-(DMAXEXP - 3)) #define FMINEXP (-(FMAXEXP - 3)) #define DMAXEXP ((1 << _DEXPLEN - 1) - 1 + _IEEE) #define FMAXEXP ((1 << _FEXPLEN - 1) - 1 + _IEEE) #elif defined(__i386__) #define MAXDOUBLE 1.79769313486231570e+308 #if 0 #define MAXFLOAT ((float)3.40282346638528860e+38) #define MINDOUBLE 2.22507385850720140e-308 #define MINFLOAT ((float)1.17549435082228750e-38) #else #define MAXFLOAT 3.40282347e+38F #define MINDOUBLE 4.94065645841246544e-324 #define MINFLOAT 1.40129846e-45F #endif #define _IEEE 1 #define _DEXPLEN 11 #define _FEXPLEN 8 #define _HIDDENBIT 1 #define DMINEXP (-DMAXEXP) #define FMINEXP (-FMAXEXP) #define DMAXEXP ((1 << _DEXPLEN - 1) - 1 + _IEEE) #define FMAXEXP ((1 << _FEXPLEN - 1) - 1 + _IEEE) /* from Andrew Klossner */ #elif defined(m88k) /* These are "good" guesses ... I'll figure out the true mins and maxes later, at the time I find out the mins and maxes that the compiler can tokenize. */ #define MAXDOUBLE 1.79769313486231e+308 #define MAXFLOAT ((float)3.40282346638528e+38) #define MINDOUBLE 2.22507385850720e-308 #define MINFLOAT ((float)1.17549435082228e-38) #define _IEEE 1 #define _DEXPLEN 11 #define _FEXPLEN 8 #define _HIDDENBIT 1 #define DMINEXP (1-DMAXEXP) #define FMINEXP (1-FMAXEXP) #define DMAXEXP ((1 << _DEXPLEN - 1) - 1 + _IEEE) #define FMAXEXP ((1 << _FEXPLEN - 1) - 1 + _IEEE) #elif defined(convex) #define MAXDOUBLE 8.9884656743115785e+306 #define MAXFLOAT ((float) 1.70141173e+38) #define MINDOUBLE 5.5626846462680035e-308 #define MINFLOAT ((float) 2.93873588e-39) #define _IEEE 0 #define _DEXPLEN 11 #define _FEXPLEN 8 #define _HIDDENBIT 1 #define DMINEXP (-DMAXEXP) #define FMINEXP (-FMAXEXP) #define DMAXEXP ((1 << _DEXPLEN - 1) - 1 + _IEEE) #define FMAXEXP ((1 << _FEXPLEN - 1) - 1 + _IEEE) /* #elif defined(__vax__) use vax versions by default -- they seem to be the most conservative */ #else #define MAXDOUBLE 1.701411834604692293e+38 #define MINDOUBLE (2.938735877055718770e-39) #define MAXFLOAT 1.7014117331926443e+38 #define MINFLOAT 2.9387358770557188e-39 #define _IEEE 0 #define _DEXPLEN 8 #define _FEXPLEN 8 #define _HIDDENBIT 1 #define DMINEXP (-DMAXEXP) #define FMINEXP (-FMAXEXP) #define DMAXEXP ((1 << _DEXPLEN - 1) - 1 + _IEEE) #define FMAXEXP ((1 << _FEXPLEN - 1) - 1 + _IEEE) #endif #define DSIGNIF (DOUBLEBITS - _DEXPLEN + _HIDDENBIT - 1) #define FSIGNIF (FLOATBITS - _FEXPLEN + _HIDDENBIT - 1) #define DMAXPOWTWO ((double)(1L << LONGBITS -2)*(1L << DSIGNIF - LONGBITS +1)) #define FMAXPOWTWO ((float)(1L << FSIGNIF - 1)) #endif ./usr/include/huge_val.h100644 1676 334 3060 5433224000 13234 0ustar hjlisl/* `HUGE_VAL' constant for IEEE 754 machines (where it is infinity). Used by and functions for overflow. Copyright (C) 1992 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef _HUGE_VAL_H #define _HUGE_VAL_H 1 #include /* IEEE positive infinity. */ #if __BYTE_ORDER == __BIG_ENDIAN #define __huge_val_bytes { 0x7f, 0xf0, 0, 0, 0, 0, 0, 0 } #endif #if __BYTE_ORDER == __LITTLE_ENDIAN #define __huge_val_bytes { 0, 0, 0, 0, 0, 0, 0xf0, 0x7f } #endif #ifdef __GNUC__ #define HUGE_VAL \ (__extension__ ((union { unsigned char __c[8]; \ double __d; }) \ { __huge_val_bytes }).__d) #else /* Not GCC. */ static __const char __huge_val[8] = __huge_val_bytes; #define HUGE_VAL (*(__const double *) __huge_val) #endif /* GCC. */ #endif /* huge_val.h */ ./usr/include/ulimit.h100644 1676 334 310 5365061177 12742 0ustar hjlisl#ifndef _ULIMIT_H #define _ULIMIT_H #include #define UL_GETFSIZE 1 #define UL_SETFSIZE 2 __BEGIN_DECLS extern long ulimit __P((int __cmd, ...)); __END_DECLS #endif /*_ULIMIT_H */ ./usr/include/ieee754.h100644 1676 334 3477 5430330653 12636 0ustar hjlisl/* Copyright (C) 1992 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef _IEEE754_H #define _IEEE754_H #include union ieee754_double { double d; /* This is the IEEE 754 double-precision format. */ struct { #if __BYTE_ORDER == __BIG_ENDIAN unsigned int negative:1; unsigned int exponent:11; /* Together these comprise the mantissa. */ unsigned int mantissa0:20; unsigned int mantissa1:32; #endif #if __BYTE_ORDER == __LITTLE_ENDIAN /* Together these comprise the mantissa. */ unsigned int mantissa1:32; unsigned int mantissa0:20; unsigned int exponent:11; unsigned int negative:1; #endif } ieee; }; #define _IEEE754_DOUBLE_BIAS 0x3ff /* added to exp of ieee754_double */ #ifdef __i386__ union i387_float { float f; /* This is the i387 single-precision format. */ struct { unsigned int mantissa:23; unsigned int exponent:8; unsigned int negative:1; } i387; }; #define _I387_FLOAT_BIAS 0x7f /* added to exp of i387_float */ #endif /* __i387__ */ #endif /* _IEEE754_H */ ./usr/include/shadow.h100644 1676 334 4425 5475455336 12765 0ustar hjlisl/* * Copyright 1988, 1989, 1990, John F. Haugh II * All rights reserved. * * Use, duplication, and disclosure prohibited without * the express written permission of the author. */ #ifndef _SHADOW_H #define _SHADOW_H 1 #include __BEGIN_DECLS #include #include #include #include /* * This information is not derived from AT&T licensed sources. Posted * to the USENET 11/88, and updated 11/90 with information from SVR4. * * @(#)shadow.h 3.3 09:06:50 12/7/90 */ typedef __time_t sptime; /* * Shadow password security file structure. */ struct spwd { char *sp_namp; /* login name */ char *sp_pwdp; /* encrypted password */ sptime sp_lstchg; /* date of last change */ sptime sp_min; /* minimum number of days between changes */ sptime sp_max; /* maximum number of days between changes */ sptime sp_warn; /* number of days of warning before password expires */ sptime sp_inact; /* number of days after password expires until the account becomes unusable. */ sptime sp_expire; /* days since 1/1/70 until account expires */ unsigned long sp_flag; /* reserved for future use */ }; /* * Shadow password security file functions. */ extern void setspent __P ((void)); extern void endspent __P ((void)); extern struct spwd *sgetspent __P ((__const char *__string)); extern struct spwd *fgetspent __P ((FILE *__fp)); extern struct spwd *getspent __P ((void)); extern struct spwd *getspnam __P ((__const char *__name)); extern int putspent __P ((__const struct spwd *__sp, FILE *__fp)); #define SHADOW "/etc/shadow" /* * Shadow group security file structure */ struct sgrp { char *sg_name; /* group name */ char *sg_passwd; /* group password */ char **sg_adm; /* group administator list */ char **sg_mem; /* group membership list */ }; /* * Shadow group security file functions. */ extern void setsgent __P ((void)); extern void endsgent __P ((void)); extern struct sgrp *sgetsgent __P ((__const char *__string)); extern struct sgrp *fgetsgent __P ((FILE *__fp)); extern struct sgrp *getsgent __P ((void)); extern struct sgrp *getsgnam __P ((__const char *__str)); extern int putsgent __P ((__const struct sgrp *_grp, FILE *__fp)); #define GSHADOW "/etc/gshadow" __END_DECLS #endif /* shadow.h */ ./usr/include/obstack.h100644 1676 334 46662 5532204125 13135 0ustar hjlisl/* obstack.h - object stack macros Copyright (C) 1988, 89, 90, 91, 92, 93, 94 Free Software Foundation, Inc. This file is part of the GNU C Library. Its master source is NOT part of the C library, however. The master source lives in /gd/gnu/lib. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* Summary: All the apparent functions defined here are macros. The idea is that you would use these pre-tested macros to solve a very specific set of problems, and they would run fast. Caution: no side-effects in arguments please!! They may be evaluated MANY times!! These macros operate a stack of objects. Each object starts life small, and may grow to maturity. (Consider building a word syllable by syllable.) An object can move while it is growing. Once it has been "finished" it never changes address again. So the "top of the stack" is typically an immature growing object, while the rest of the stack is of mature, fixed size and fixed address objects. These routines grab large chunks of memory, using a function you supply, called `obstack_chunk_alloc'. On occasion, they free chunks, by calling `obstack_chunk_free'. You must define them and declare them before using any obstack macros. Each independent stack is represented by a `struct obstack'. Each of the obstack macros expects a pointer to such a structure as the first argument. One motivation for this package is the problem of growing char strings in symbol tables. Unless you are "fascist pig with a read-only mind" --Gosper's immortal quote from HAKMEM item 154, out of context--you would not like to put any arbitrary upper limit on the length of your symbols. In practice this often means you will build many short symbols and a few long symbols. At the time you are reading a symbol you don't know how long it is. One traditional method is to read a symbol into a buffer, realloc()ating the buffer every time you try to read a symbol that is longer than the buffer. This is beaut, but you still will want to copy the symbol from the buffer to a more permanent symbol-table entry say about half the time. With obstacks, you can work differently. Use one obstack for all symbol names. As you read a symbol, grow the name in the obstack gradually. When the name is complete, finalize it. Then, if the symbol exists already, free the newly read name. The way we do this is to take a large chunk, allocating memory from low addresses. When you want to build a symbol in the chunk you just add chars above the current "high water mark" in the chunk. When you have finished adding chars, because you got to the end of the symbol, you know how long the chars are, and you can create a new object. Mostly the chars will not burst over the highest address of the chunk, because you would typically expect a chunk to be (say) 100 times as long as an average object. In case that isn't clear, when we have enough chars to make up the object, THEY ARE ALREADY CONTIGUOUS IN THE CHUNK (guaranteed) so we just point to it where it lies. No moving of chars is needed and this is the second win: potentially long strings need never be explicitly shuffled. Once an object is formed, it does not change its address during its lifetime. When the chars burst over a chunk boundary, we allocate a larger chunk, and then copy the partly formed object from the end of the old chunk to the beginning of the new larger chunk. We then carry on accreting characters to the end of the object as we normally would. A special macro is provided to add a single char at a time to a growing object. This allows the use of register variables, which break the ordinary 'growth' macro. Summary: We allocate large chunks. We carve out one object at a time from the current chunk. Once carved, an object never moves. We are free to append data of any size to the currently growing object. Exactly one object is growing in an obstack at any one time. You can run one obstack per control block. You may have as many control blocks as you dare. Because of the way we do it, you can `unwind' an obstack back to a previous state. (You may remove objects much as you would with a stack.) */ /* Don't do the contents of this file more than once. */ #ifndef __OBSTACK_H__ #define __OBSTACK_H__ #include /* We use subtraction of (char *)0 instead of casting to int because on word-addressable machines a simple cast to int may ignore the byte-within-word field of the pointer. */ #ifndef __PTR_TO_INT #define __PTR_TO_INT(P) ((P) - (char *)0) #endif #ifndef __INT_TO_PTR #define __INT_TO_PTR(P) ((P) + (char *)0) #endif /* We need the type of the resulting object. In ANSI C it is ptrdiff_t but in traditional C it is usually long. If we are in ANSI C and don't already have ptrdiff_t get it. */ #if defined (__STDC__) && ! defined (offsetof) #if defined (__GNUC__) && defined (IN_GCC) /* On Next machine, the system's stddef.h screws up if included after we have defined just ptrdiff_t, so include all of gstddef.h. Otherwise, define just ptrdiff_t, which is all we need. */ #ifndef __NeXT__ #define __need_ptrdiff_t #endif /* While building GCC, the stddef.h that goes with GCC has this name. */ #include "gstddef.h" #else #include #endif #endif #ifdef __STDC__ #define PTR_INT_TYPE ptrdiff_t #else #define PTR_INT_TYPE long #endif __BEGIN_DECLS struct _obstack_chunk /* Lives at front of each chunk. */ { char *limit; /* 1 past end of this chunk */ struct _obstack_chunk *prev; /* address of prior chunk or NULL */ char contents[4]; /* objects begin here */ }; struct obstack /* control current object in current chunk */ { long chunk_size; /* preferred size to allocate chunks in */ struct _obstack_chunk* chunk; /* address of current struct obstack_chunk */ char *object_base; /* address of object we are building */ char *next_free; /* where to add next char to current object */ char *chunk_limit; /* address of char after current chunk */ PTR_INT_TYPE temp; /* Temporary for some macros. */ int alignment_mask; /* Mask of alignment for each object. */ struct _obstack_chunk *(*chunkfun) (); /* User's fcn to allocate a chunk. */ void (*freefun) (); /* User's function to free a chunk. */ char *extra_arg; /* first arg for chunk alloc/dealloc funcs */ unsigned use_extra_arg:1; /* chunk alloc/dealloc funcs take extra arg */ unsigned maybe_empty_object:1;/* There is a possibility that the current chunk contains a zero-length object. This prevents freeing the chunk if we allocate a bigger chunk to replace it. */ unsigned alloc_failed:1; /* chunk alloc func returned 0 */ }; /* Declare the external functions we use; they are in obstack.c. */ #ifdef __STDC__ extern void _obstack_newchunk (struct obstack *, int); extern void _obstack_free (struct obstack *, void *); extern int _obstack_begin (struct obstack *, int, int, void *(*) (), void (*) ()); extern int _obstack_begin_1 (struct obstack *, int, int, void *(*) (), void (*) (), void *); #else extern void _obstack_newchunk (); extern void _obstack_free (); extern int _obstack_begin (); extern int _obstack_begin_1 (); #endif #ifdef __STDC__ /* Do the function-declarations after the structs but before defining the macros. */ void obstack_init (struct obstack *obstack); void * obstack_alloc (struct obstack *obstack, int size); void * obstack_copy (struct obstack *obstack, void *address, int size); void * obstack_copy0 (struct obstack *obstack, void *address, int size); void obstack_free (struct obstack *obstack, void *block); void obstack_blank (struct obstack *obstack, int size); void obstack_grow (struct obstack *obstack, void *data, int size); void obstack_grow0 (struct obstack *obstack, void *data, int size); void obstack_1grow (struct obstack *obstack, int data_char); void obstack_ptr_grow (struct obstack *obstack, void *data); void obstack_int_grow (struct obstack *obstack, int data); void * obstack_finish (struct obstack *obstack); int obstack_object_size (struct obstack *obstack); int obstack_room (struct obstack *obstack); void obstack_1grow_fast (struct obstack *obstack, int data_char); void obstack_ptr_grow_fast (struct obstack *obstack, void *data); void obstack_int_grow_fast (struct obstack *obstack, int data); void obstack_blank_fast (struct obstack *obstack, int size); void * obstack_base (struct obstack *obstack); void * obstack_next_free (struct obstack *obstack); int obstack_alignment_mask (struct obstack *obstack); int obstack_chunk_size (struct obstack *obstack); #endif /* __STDC__ */ /* Non-ANSI C cannot really support alternative functions for these macros, so we do not declare them. */ /* Pointer to beginning of object being allocated or to be allocated next. Note that this might not be the final address of the object because a new chunk might be needed to hold the final size. */ #define obstack_base(h) ((h)->alloc_failed ? 0 : (h)->object_base) /* Size for allocating ordinary chunks. */ #define obstack_chunk_size(h) ((h)->chunk_size) /* Pointer to next byte not yet allocated in current chunk. */ #define obstack_next_free(h) ((h)->alloc_failed ? 0 : (h)->next_free) /* Mask specifying low bits that should be clear in address of an object. */ #define obstack_alignment_mask(h) ((h)->alignment_mask) #define obstack_init(h) \ _obstack_begin ((h), 0, 0, \ (void *(*) ()) obstack_chunk_alloc, (void (*) ()) obstack_chunk_free) #define obstack_begin(h, size) \ _obstack_begin ((h), (size), 0, \ (void *(*) ()) obstack_chunk_alloc, (void (*) ()) obstack_chunk_free) #define obstack_specify_allocation(h, size, alignment, chunkfun, freefun) \ _obstack_begin ((h), (size), (alignment), \ (void *(*) ()) (chunkfun), (void (*) ()) (freefun)) #define obstack_specify_allocation_with_arg(h, size, alignment, chunkfun, freefun, arg) \ _obstack_begin_1 ((h), (size), (alignment), \ (void *(*) ()) (chunkfun), (void (*) ()) (freefun), (arg)) #define obstack_chunkfun(h, newchunkfun) \ ((h) -> chunkfun = (struct _obstack_chunk *(*)()) (newchunkfun)) #define obstack_freefun(h, newfreefun) \ ((h) -> freefun = (void (*)()) (newfreefun)) #define obstack_1grow_fast(h,achar) (*((h)->next_free)++ = achar) #define obstack_blank_fast(h,n) ((h)->next_free += (n)) #if defined (__GNUC__) && defined (__STDC__) #if __GNUC__ < 2 #define __extension__ #endif /* For GNU C, if not -traditional, we can define these macros to compute all args only once without using a global variable. Also, we can avoid using the `temp' slot, to make faster code. */ #define obstack_object_size(OBSTACK) \ __extension__ \ ({ struct obstack *__o = (OBSTACK); \ __o->alloc_failed ? 0 : \ (unsigned) (__o->next_free - __o->object_base); }) #define obstack_room(OBSTACK) \ __extension__ \ ({ struct obstack *__o = (OBSTACK); \ (unsigned) (__o->chunk_limit - __o->next_free); }) #define obstack_grow(OBSTACK,where,length) \ __extension__ \ ({ struct obstack *__o = (OBSTACK); \ int __len = (length); \ if (__o->next_free + __len > __o->chunk_limit) \ _obstack_newchunk (__o, __len); \ if (!__o->alloc_failed) \ { \ memcpy (__o->next_free, where, __len); \ __o->next_free += __len; \ } \ (void) 0; }) #define obstack_grow0(OBSTACK,where,length) \ __extension__ \ ({ struct obstack *__o = (OBSTACK); \ int __len = (length); \ if (__o->next_free + __len + 1 > __o->chunk_limit) \ _obstack_newchunk (__o, __len + 1); \ if (!__o->alloc_failed) \ { \ memcpy (__o->next_free, where, __len); \ __o->next_free += __len; \ *(__o->next_free)++ = 0; \ } \ (void) 0; }) #define obstack_1grow(OBSTACK,datum) \ __extension__ \ ({ struct obstack *__o = (OBSTACK); \ if (__o->next_free + 1 > __o->chunk_limit) \ _obstack_newchunk (__o, 1); \ if (!__o->alloc_failed) \ *(__o->next_free)++ = (datum); \ (void) 0; }) /* These assume that the obstack alignment is good enough for pointers or ints, and that the data added so far to the current object shares that much alignment. */ #define obstack_ptr_grow(OBSTACK,datum) \ __extension__ \ ({ struct obstack *__o = (OBSTACK); \ if (__o->next_free + sizeof (void *) > __o->chunk_limit) \ _obstack_newchunk (__o, sizeof (void *)); \ if (!__o->alloc_failed) \ *((void **)__o->next_free)++ = ((void *)datum); \ (void) 0; }) #define obstack_int_grow(OBSTACK,datum) \ __extension__ \ ({ struct obstack *__o = (OBSTACK); \ if (__o->next_free + sizeof (int) > __o->chunk_limit) \ _obstack_newchunk (__o, sizeof (int)); \ if (!__o->alloc_failed) \ *((int *)__o->next_free)++ = ((int)datum); \ (void) 0; }) #define obstack_ptr_grow_fast(h,aptr) (*((void **)(h)->next_free)++ = (void *)aptr) #define obstack_int_grow_fast(h,aint) (*((int *)(h)->next_free)++ = (int)aint) #define obstack_blank(OBSTACK,length) \ __extension__ \ ({ struct obstack *__o = (OBSTACK); \ int __len = (length); \ if (__o->chunk_limit - __o->next_free < __len) \ _obstack_newchunk (__o, __len); \ if (!__o->alloc_failed) \ __o->next_free += __len; \ (void) 0; }) #define obstack_alloc(OBSTACK,length) \ __extension__ \ ({ struct obstack *__h = (OBSTACK); \ obstack_blank (__h, (length)); \ obstack_finish (__h); }) #define obstack_copy(OBSTACK,where,length) \ __extension__ \ ({ struct obstack *__h = (OBSTACK); \ obstack_grow (__h, (where), (length)); \ obstack_finish (__h); }) #define obstack_copy0(OBSTACK,where,length) \ __extension__ \ ({ struct obstack *__h = (OBSTACK); \ obstack_grow0 (__h, (where), (length)); \ obstack_finish (__h); }) /* The local variable is named __o1 to avoid a name conflict when obstack_blank is called. */ #define obstack_finish(OBSTACK) \ __extension__ \ ({ struct obstack *__o1 = (OBSTACK); \ void *value; \ if (__o1->alloc_failed) \ value = 0; \ else \ { \ value = (void *) __o1->object_base; \ if (__o1->next_free == value) \ __o1->maybe_empty_object = 1; \ __o1->next_free \ = __INT_TO_PTR ((__PTR_TO_INT (__o1->next_free)+__o1->alignment_mask)\ & ~ (__o1->alignment_mask)); \ if (__o1->next_free - (char *)__o1->chunk \ > __o1->chunk_limit - (char *)__o1->chunk) \ __o1->next_free = __o1->chunk_limit; \ __o1->object_base = __o1->next_free; \ } \ value; }) #define obstack_free(OBSTACK, OBJ) \ __extension__ \ ({ struct obstack *__o = (OBSTACK); \ void *__obj = (OBJ); \ if (__obj > (void *)__o->chunk && __obj < (void *)__o->chunk_limit) \ __o->next_free = __o->object_base = __obj; \ else (obstack_free) (__o, __obj); }) #else /* not __GNUC__ or not __STDC__ */ #define obstack_object_size(h) \ (unsigned) ((h)->alloc_failed ? 0 : (h)->next_free - (h)->object_base) #define obstack_room(h) \ (unsigned) ((h)->chunk_limit - (h)->next_free) /* Note that the call to _obstack_newchunk is enclosed in (..., 0) so that we can avoid having void expressions in the arms of the conditional expression. Casting the third operand to void was tried before, but some compilers won't accept it. */ #define obstack_grow(h,where,length) \ ( (h)->temp = (length), \ (((h)->next_free + (h)->temp > (h)->chunk_limit) \ ? (_obstack_newchunk ((h), (h)->temp), 0) : 0), \ ((h)->alloc_failed ? 0 : \ (memcpy (__o->next_free, where, (h)->temp), \ (h)->next_free += (h)->temp))) #define obstack_grow0(h,where,length) \ ( (h)->temp = (length), \ (((h)->next_free + (h)->temp + 1 > (h)->chunk_limit) \ ? (_obstack_newchunk ((h), (h)->temp + 1), 0) : 0), \ ((h)->alloc_failed ? 0 : \ (memcpy (__o->next_free, where, (h)->temp), \ (h)->next_free += (h)->temp, \ *((h)->next_free)++ = 0))) #define obstack_1grow(h,datum) \ ( (((h)->next_free + 1 > (h)->chunk_limit) \ ? (_obstack_newchunk ((h), 1), 0) : 0), \ ((h)->alloc_failed ? 0 : \ (*((h)->next_free)++ = (datum)))) #define obstack_ptr_grow(h,datum) \ ( (((h)->next_free + sizeof (char *) > (h)->chunk_limit) \ ? (_obstack_newchunk ((h), sizeof (char *)), 0) : 0), \ ((h)->alloc_failed ? 0 : \ (*((char **)(((h)->next_free+=sizeof(char *))-sizeof(char *))) = ((char *)datum)))) #define obstack_int_grow(h,datum) \ ( (((h)->next_free + sizeof (int) > (h)->chunk_limit) \ ? (_obstack_newchunk ((h), sizeof (int)), 0) : 0), \ ((h)->alloc_failed ? 0 : \ (*((int *)(((h)->next_free+=sizeof(int))-sizeof(int))) = ((int)datum)))) #define obstack_ptr_grow_fast(h,aptr) (*((char **)(h)->next_free)++ = (char *)aptr) #define obstack_int_grow_fast(h,aint) (*((int *)(h)->next_free)++ = (int)aint) #define obstack_blank(h,length) \ ( (h)->temp = (length), \ (((h)->chunk_limit - (h)->next_free < (h)->temp) \ ? (_obstack_newchunk ((h), (h)->temp), 0) : 0), \ ((h)->alloc_failed ? 0 : \ ((h)->next_free += (h)->temp))) #define obstack_alloc(h,length) \ (obstack_blank ((h), (length)), obstack_finish ((h))) #define obstack_copy(h,where,length) \ (obstack_grow ((h), (where), (length)), obstack_finish ((h))) #define obstack_copy0(h,where,length) \ (obstack_grow0 ((h), (where), (length)), obstack_finish ((h))) #define obstack_finish(h) \ ( (h)->alloc_failed ? 0 : \ (((h)->next_free == (h)->object_base \ ? (((h)->maybe_empty_object = 1), 0) \ : 0), \ (h)->temp = __PTR_TO_INT ((h)->object_base), \ (h)->next_free \ = __INT_TO_PTR ((__PTR_TO_INT ((h)->next_free)+(h)->alignment_mask) \ & ~ ((h)->alignment_mask)), \ (((h)->next_free - (char *)(h)->chunk \ > (h)->chunk_limit - (char *)(h)->chunk) \ ? ((h)->next_free = (h)->chunk_limit) : 0), \ (h)->object_base = (h)->next_free, \ __INT_TO_PTR ((h)->temp))) #ifdef __STDC__ #define obstack_free(h,obj) \ ( (h)->temp = (char *)(obj) - (char *) (h)->chunk, \ (((h)->temp > 0 && (h)->temp < (h)->chunk_limit - (char *) (h)->chunk)\ ? (int) ((h)->next_free = (h)->object_base \ = (h)->temp + (char *) (h)->chunk) \ : (((obstack_free) ((h), (h)->temp + (char *) (h)->chunk), 0), 0))) #else #define obstack_free(h,obj) \ ( (h)->temp = (char *)(obj) - (char *) (h)->chunk, \ (((h)->temp > 0 && (h)->temp < (h)->chunk_limit - (char *) (h)->chunk)\ ? (int) ((h)->next_free = (h)->object_base \ = (h)->temp + (char *) (h)->chunk) \ : (_obstack_free ((h), (h)->temp + (char *) (h)->chunk), 0))) #endif #endif /* not __GNUC__ or not __STDC__ */ __END_DECLS #endif /* not __OBSTACK_H__ */ ./usr/include/sysexits.h100644 1676 334 12522 5373565521 13403 0ustar hjlisl/* * Copyright (c) 1987 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. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the University of * California, Berkeley and its contributors. * 4. 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. * * @(#)sysexits.h 4.8 (Berkeley) 4/3/91 */ #ifndef _SYSEXITS_H #define _SYSEXITS_H /* * SYSEXITS.H -- Exit status codes for system programs. * * This include file attempts to categorize possible error * exit statuses for system programs, notably delivermail * and the Berkeley network. * * Error numbers begin at EX__BASE to reduce the possibility of * clashing with other exit statuses that random programs may * already return. The meaning of the codes is approximately * as follows: * * EX_USAGE -- The command was used incorrectly, e.g., with * the wrong number of arguments, a bad flag, a bad * syntax in a parameter, or whatever. * EX_DATAERR -- The input data was incorrect in some way. * This should only be used for user's data & not * system files. * EX_NOINPUT -- An input file (not a system file) did not * exist or was not readable. This could also include * errors like "No message" to a mailer (if it cared * to catch it). * EX_NOUSER -- The user specified did not exist. This might * be used for mail addresses or remote logins. * EX_NOHOST -- The host specified did not exist. This is used * in mail addresses or network requests. * EX_UNAVAILABLE -- A service is unavailable. This can occur * if a support program or file does not exist. This * can also be used as a catchall message when something * you wanted to do doesn't work, but you don't know * why. * EX_SOFTWARE -- An internal software error has been detected. * This should be limited to non-operating system related * errors as possible. * EX_OSERR -- An operating system error has been detected. * This is intended to be used for such things as "cannot * fork", "cannot create pipe", or the like. It includes * things like getuid returning a user that does not * exist in the passwd file. * EX_OSFILE -- Some system file (e.g., /etc/passwd, /etc/utmp, * etc.) does not exist, cannot be opened, or has some * sort of error (e.g., syntax error). * EX_CANTCREAT -- A (user specified) output file cannot be * created. * EX_IOERR -- An error occurred while doing I/O on some file. * EX_TEMPFAIL -- temporary failure, indicating something that * is not really an error. In sendmail, this means * that a mailer (e.g.) could not create a connection, * and the request should be reattempted later. * EX_PROTOCOL -- the remote system returned something that * was "not possible" during a protocol exchange. * EX_NOPERM -- You did not have sufficient permission to * perform the operation. This is not intended for * file system problems, which should use NOINPUT or * CANTCREAT, but rather for higher level permissions. */ #define EX_OK 0 /* successful termination */ #define EX__BASE 64 /* base value for error messages */ #define EX_USAGE 64 /* command line usage error */ #define EX_DATAERR 65 /* data format error */ #define EX_NOINPUT 66 /* cannot open input */ #define EX_NOUSER 67 /* addressee unknown */ #define EX_NOHOST 68 /* host name unknown */ #define EX_UNAVAILABLE 69 /* service unavailable */ #define EX_SOFTWARE 70 /* internal software error */ #define EX_OSERR 71 /* system error (e.g., can't fork) */ #define EX_OSFILE 72 /* critical OS file missing */ #define EX_CANTCREAT 73 /* can't create (user) output file */ #define EX_IOERR 74 /* input/output error */ #define EX_TEMPFAIL 75 /* temp failure; user is invited to retry */ #define EX_PROTOCOL 76 /* remote error in protocol */ #define EX_NOPERM 77 /* permission denied */ #define EX_CONFIG 78 /* configuration error */ #define EX__MAX 78 /* maximum listed value */ #endif /* !_SYSEXITS_H */ ./usr/include/waitstatus.h100644 1676 334 7214 5424120524 13665 0ustar hjlisl/* Definitions of status bits for `wait' et al. Copyright (C) 1992 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* Everything extant so far uses these same bits. */ #ifndef _WAITSTATUS_H #define _WAITSTATUS_H /* If WIFEXITED(STATUS), the low-order 8 bits of the status. */ #define __WEXITSTATUS(status) (((status) & 0xff00) >> 8) /* If WIFSIGNALED(STATUS), the terminating signal. */ #define __WTERMSIG(status) ((status) & 0x7f) /* If WIFSTOPPED(STATUS), the signal that stopped the child. */ #define __WSTOPSIG(status) __WEXITSTATUS(status) #ifdef __linux__ /* Nonzero if STATUS indicates normal termination. */ #define __WIFEXITED(status) (((status) & 0xff) == 0) /* Nonzero if STATUS indicates termination by a signal. */ #define __WIFSIGNALED(status) (((unsigned int)((status)-1) & 0xFFFF) < 0xFF) #else /* __linux__ */ /* Nonzero if STATUS indicates normal termination. */ #define __WIFEXITED(status) (__WTERMSIG(status) == 0) /* Nonzero if STATUS indicates termination by a signal. */ #ifdef __GNUC__ #define __WIFSIGNALED(status) \ (__extension__ ({ int __stat = (status); \ !__WIFSTOPPED(__stat) && !__WIFEXITED(__stat); })) #else /* Not GCC. */ #define __WIFSIGNALED(status) (!__WIFSTOPPED(status) && !__WIFEXITED(status)) #endif /* GCC. */ #endif /* __linux__ */ /* Nonzero if STATUS indicates the child is stopped. */ #define __WIFSTOPPED(status) (((status) & 0xff) == 0x7f) /* Nonzero if STATUS indicates the child dumped core. */ #define __WCOREDUMP(status) ((status) & 0200) /* Macros for constructing status values. */ #define __W_EXITCODE(ret, sig) ((ret) << 8 | (sig)) #define __W_STOPCODE(sig) ((sig) << 8 | 0x7f) #ifdef __USE_BSD #include union wait { int w_status; struct { #if __BYTE_ORDER == __LITTLE_ENDIAN unsigned int __w_termsig:7; /* Terminating signal. */ unsigned int __w_coredump:1; /* Set if dumped core. */ unsigned int __w_retcode:8; /* Return code if exited normally. */ unsigned int:16; #endif /* Little endian. */ #if __BYTE_ORDER == __BIG_ENDIAN unsigned int:16; unsigned int __w_retcode:8; unsigned int __w_coredump:1; unsigned int __w_termsig:7; #endif /* Big endian. */ } __wait_terminated; struct { #if __BYTE_ORDER == __LITTLE_ENDIAN unsigned int __w_stopval:8; /* W_STOPPED if stopped. */ unsigned int __w_stopsig:8; /* Stopping signal. */ unsigned int:16; #endif /* Little endian. */ #if __BYTE_ORDER == __BIG_ENDIAN unsigned int:16; unsigned int __w_stopsig:8; /* Stopping signal. */ unsigned int __w_stopval:8; /* W_STOPPED if stopped. */ #endif /* Big endian. */ } __wait_stopped; }; #define w_termsig __wait_terminated.__w_termsig #define w_coredump __wait_terminated.__w_coredump #define w_retcode __wait_terminated.__w_retcode #define w_stopsig __wait_stopped.__w_stopsig #define w_stopval __wait_stopped.__w_stopval #endif /* Use BSD. */ #endif /* waitstatus.h */ ./usr/include/bytesex.h100644 1676 334 377 5514304704 13127 0ustar hjlisl#ifndef _BYTESEX_H #define _BYTESEX_H #undef __BYTE_ORDER #if defined(__i386__) # define __BYTE_ORDER 1234 #elif defined(__mc68000__) # define __BYTE_ORDER 4321 #else # error architecture not supported by Linux C library #endif #endif /* _BYTESEX_H */ ./usr/include/waitflags.h100644 1676 334 2204 5537510235 13437 0ustar hjlisl/* Definitions of flag bits for `waitpid' et al. Copyright (C) 1994 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef _WAITFLAGS_H #define _WAITFLAGS_H 1 #ifdef __linux__ #include #else /* Bits in the third argument to `waitpid'. */ #define WNOHANG 1 /* Don't block waiting. */ #define WUNTRACED 2 /* Report status of stopped children. */ #endif #endif /* waitflags.h */ ./usr/include/fpu_control.h100644 1676 334 377 5514552164 14003 0ustar hjlisl#ifndef _FPU_CONTROL_H #define _FPU_CONTROL_H #if defined(__i386__) # include #elif defined(__mc68000__) # include #else # error architecture not supported by Linux C library #endif #endif /* _FPU_CONTROL_H */ ./usr/include/regexp.h100644 1676 334 12010 5472155204 12763 0ustar hjlisl/* * regexp.h -- old-style regexp compile and step (emulated with POSIX regex) * Copyright (C) 1993 Rick Sladkey * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Library Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Library Public License for more details. */ /* * Think really hard before you intentionally include this file. * You should really be using the POSIX regex interface instead. * This emulation file is intended solely for compiling old code. * * A program that uses this file must define six macros: INIT, * GETC, PEEKC, UNGETC, RETURN, and ERROR. This interface is * so arcane that VMS hackers point at it in ridicule. */ #ifndef _REGEXP_H #define _REGEXP_H #include /* POSIX.2 regexp routines */ #include /* for malloc, realloc and free */ /* * These three advertised external variables record state information * for compile and step. They are so gross, I'm choking as I write this. */ char *loc1; /* the beginning of a match */ char *loc2; /* the end of a match */ int circf; /* current pattern begins with '^' */ /* * These are the other variables mentioned in the regexp.h manpage. * Since we don't emulate them (whatever they do), we want errors if * they are referenced. Therefore they are commented out here. */ #if 0 char *locs; int sed; int nbra; #endif /* * We need to stuff a regex_t into an arbitrary buffer so align it. * GCC make this easy. For the others we have to guess. */ #ifdef __GNUC__ #define __REGEX_T_ALIGN (__alignof__(regex_t)) #else /* !__GNUC__ */ #define __REGEX_T_ALIGN 8 #endif /* !__GNUC__ */ #define __regex_t_align(p) \ ((regex_t *) ((((unsigned long) p) + __REGEX_T_ALIGN - 1) \ / __REGEX_T_ALIGN * __REGEX_T_ALIGN)) /* * We just slurp the whole pattern into a string and then compile * it `normally'. With this implementation we never use the PEEKC * macro. Please feel free to die laughing when we translate * error symbols into hard-coded numbers. */ char * compile(char *instring, char *expbuf, char *endbuf, int eof) { int __c; int __len; char *__buf; int __buflen; int __error; regex_t *__preg; INIT; __buflen = 128; __buf = malloc(__buflen); if (!__buf) { ERROR(50); return 0; } __len = 0; circf = 0; for (;;) { __c = GETC(); if (__c == eof) break; if (__c == '\0' || __c == '\n') { UNGETC(__c); break; } if (__len + 2 > __buflen) { __buflen *= 2; __buf = realloc(__buf, __buflen); if (!__buf) { ERROR(50); return 0; } } if (__len == 0 && !circf && __c == '^') circf = 1; else __buf[__len++] = __c; } if (__len == 0 && !circf) { free(__buf); ERROR(41); return 0; } __buf[__len] = '\0'; if (endbuf <= expbuf + sizeof(regex_t)) { free(__buf); ERROR(50); return 0; } __preg = __regex_t_align(expbuf); __preg->buffer = (char *) (__preg + 1); __preg->allocated = endbuf - (char *) __preg->buffer; __error = regcomp(__preg, __buf, REG_NEWLINE); free(__buf); switch (__error) { case 0: break; case REG_BADRPT: __error = 36; /* poor fit */ break; case REG_BADBR: __error = 16; break; case REG_EBRACE: __error = 44; /* poor fit */ break; case REG_EBRACK: __error = 49; break; case REG_ERANGE: __error = 36; /* poor fit */ break; case REG_ECTYPE: __error = 36; /* poor fit */ break; case REG_EPAREN: __error = 42; break; case REG_ESUBREG: __error = 36; /* poor fit */ break; case REG_EEND: __error = 36; /* poor fit */ break; case REG_EESCAPE: __error = 36; break; case REG_BADPAT: __error = 36; /* poor fit */ break; case REG_ESIZE: __error = 50; break; case REG_ESPACE: __error = 50; break; default: __error = 36; /* as good as any */ break; } if (__error) { ERROR(__error); return 0; } RETURN((__preg->buffer + __preg->used)); } /* * Note how we carefully emulate the gross `circf' hack. Otherwise, * this just looks like an ordinary matching call that records the * starting and ending match positions. */ int step(char *string, char *expbuf) { int __result; regmatch_t __pmatch[1]; __result = regexec(__regex_t_align(expbuf), string, 1, __pmatch, 0); if (circf && __pmatch[0].rm_so != 0) __result = REG_NOMATCH; if (__result == 0) { loc1 = string + __pmatch[0].rm_so; loc2 = string + __pmatch[0].rm_eo; } return __result == 0; } /* * For advance we are only supposed to match at the beginning of the * string. You have to read the man page really carefully to find this * one. We'll match them kludge-for-kludge. */ int advance(char *string, char *expbuf) { int __old_circf; int __result; __old_circf = circf; circf = 1; __result = step(string, expbuf); circf = __old_circf; return __result; } #endif /* _REGEXP_H */ ./usr/include/libio.h100644 1676 334 16515 5510433164 12602 0ustar hjlisl/* Copyright (C) 1993 Free Software Foundation This file is part of the GNU IO Library. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU CC; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. As a special exception, if you link this library with files compiled with a GNU compiler to produce an executable, this does not cause the resulting executable to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the executable file might be covered by the GNU General Public License. */ /* This is part of the iostream library. Copyright (C) 1991, 1992 Per Bothner. */ #ifndef _IO_STDIO_H #define _IO_STDIO_H #ifdef __GNUG__ #pragma interface #endif #if 1 #include <_G_config.h> #define _IO_pos_t _G_fpos_t /* obsolete */ #define _IO_fpos_t _G_fpos_t #define _IO_size_t _G_size_t #define _IO_ssize_t _G_ssize_t #define _IO_off_t _G_off_t #define _IO_pid_t _G_pid_t #define _IO_uid_t _G_uid_t #define _IO_HAVE_SYS_WAIT _G_HAVE_SYS_WAIT #define _IO_HAVE_ST_BLKSIZE _G_HAVE_ST_BLKSIZE #define _IO_BUFSIZ _G_BUFSIZ #define _IO_va_list _G_va_list #ifdef _G_NEED_STDARG_H /* This define avoids name pollution if we're using GNU stdarg.h */ #define __need___va_list #include #ifdef __GNUC_VA_LIST #undef _IO_va_list #define _IO_va_list __gnuc_va_list #endif /* __GNUC_VA_LIST */ #endif #else #include <_IO_config.h> typedef _IO_fpos_t _IO_pos_t; #endif #include #define USE_DTOA #if 0 #ifdef _IO_NEED_STDARG_H #include #endif #endif #ifndef EOF #define EOF (-1) #endif #ifndef NULL #if !defined(__cplusplus) || defined(__GNUC__) #define NULL ((void*)0) #else #define NULL (0) #endif #endif #define _IOS_INPUT 1 #define _IOS_OUTPUT 2 #define _IOS_ATEND 4 #define _IOS_APPEND 8 #define _IOS_TRUNC 16 #define _IOS_NOCREATE 32 #define _IOS_NOREPLACE 64 #define _IOS_BIN 128 /* Magic numbers and bits for the _flags field. The magic numbers use the high-order bits of _flags; the remaining bits are abailable for variable flags. Note: The magic numbers must all be negative if stdio emulation is desired. */ #define _IO_MAGIC 0xFBAD0000 /* Magic number */ #define _OLD_STDIO_MAGIC 0xFABC0000 /* Emulate old stdio. */ #define _IO_MAGIC_MASK 0xFFFF0000 #define _IO_USER_BUF 1 /* User owns buffer; don't delete it on close. */ #define _IO_UNBUFFERED 2 #define _IO_NO_READS 4 /* Reading not allowed */ #define _IO_NO_WRITES 8 /* Writing not allowd */ #define _IO_EOF_SEEN 0x10 #define _IO_ERR_SEEN 0x20 #define _IO_DELETE_DONT_CLOSE 0x40 #define _IO_LINKED 0x80 /* Set if linked (using _chain) to streambuf::_list_all.*/ #define _IO_IN_BACKUP 0x100 #define _IO_LINE_BUF 0x200 #define _IO_TIED_PUT_GET 0x400 /* Set if put and get pointer logicly tied. */ #define _IO_CURRENTLY_PUTTING 0x800 #define _IO_IS_APPENDING 0x1000 #define _IO_IS_FILEBUF 0x2000 /* These are "formatting flags" matching the iostream fmtflags enum values. */ #define _IO_SKIPWS 01 #define _IO_LEFT 02 #define _IO_RIGHT 04 #define _IO_INTERNAL 010 #define _IO_DEC 020 #define _IO_OCT 040 #define _IO_HEX 0100 #define _IO_SHOWBASE 0200 #define _IO_SHOWPOINT 0400 #define _IO_UPPERCASE 01000 #define _IO_SHOWPOS 02000 #define _IO_SCIENTIFIC 04000 #define _IO_FIXED 010000 #define _IO_UNITBUF 020000 #define _IO_STDIO 040000 #define _IO_DONT_CLOSE 0100000 /* A streammarker remembers a position in a buffer. */ struct _IO_jump_t; struct _IO_FILE; struct _IO_marker { struct _IO_marker *_next; struct _IO_FILE *_sbuf; /* If _pos >= 0 it points to _buf->Gbase()+_pos. FIXME comment */ /* if _pos < 0, it points to _buf->eBptr()+_pos. FIXME comment */ int _pos; #if 0 void set_streampos(streampos sp) { _spos = sp; } void set_offset(int offset) { _pos = offset; _spos = (streampos)(-2); } public: streammarker(streambuf *sb); ~streammarker(); int saving() { return _spos == -2; } int delta(streammarker&); int delta(); #endif }; struct _IO_FILE { int _flags; /* High-order word is _IO_MAGIC; rest is flags. */ #define _IO_file_flags _flags /* The following pointers correspond to the C++ streambuf protocol. */ char* _IO_read_ptr; /* Current read pointer */ char* _IO_read_end; /* End of get area. */ char* _IO_read_base; /* Start of putback+get area. */ char* _IO_write_base; /* Start of put area. */ char* _IO_write_ptr; /* Current put pointer. */ char* _IO_write_end; /* End of put area. */ char* _IO_buf_base; /* Start of reserve area. */ char* _IO_buf_end; /* End of reserve area. */ /* The following fields are used to support backing up and undo. */ char *_IO_save_base; /* Pointer to start of non-current get area. */ char *_IO_backup_base; /* Pointer to first valid character of backup area */ char *_IO_save_end; /* Pointer to end of non-current get area. */ /* These names are temporary aliases. TODO */ #define _other_gbase _IO_save_base #define _aux_limit _IO_backup_base #define _other_egptr _IO_save_end struct _IO_marker *_markers; struct _IO_FILE *_chain; struct _IO_jump_t *_jumps; /* Jump table */ int _fileno; int _blksize; _IO_off_t _offset; #define __HAVE_COLUMN /* temporary */ /* 1+column number of pbase(); 0 is unknown. */ unsigned short _cur_column; char _unused; char _shortbuf[1]; /* char* _save_gptr; char* _save_egptr; */ }; #ifndef __cplusplus typedef struct _IO_FILE _IO_FILE; #endif /* We always allocate an extra word following an _IO_FILE. This is for compatibility with C++ streambuf; the word can be used to smash to a pointer to a virtual function table. */ struct _IO_FILE_plus { _IO_FILE _file; __const void *_vtable; }; extern struct _IO_FILE_plus _IO_stdin_, _IO_stdout_, _IO_stderr_; #define _IO_stdin (&_IO_stdin_._file) #define _IO_stdout (&_IO_stdout_._file) #define _IO_stderr (&_IO_stderr_._file) #ifdef __cplusplus extern "C" { #endif extern int __underflow __P((_IO_FILE*)); extern int __overflow __P((_IO_FILE*, int)); extern unsigned __adjust_column __P((unsigned start, __const char *line, int count)); #define _IO_getc(_fp) \ ((_fp)->_IO_read_ptr >= (_fp)->_IO_read_end \ && __underflow(_fp) == EOF ? EOF \ : *(unsigned char*)(_fp)->_IO_read_ptr++) #define _IO_peekc(_fp) \ ((_fp)->_IO_read_ptr >= (_fp)->_IO_read_end \ && __underflow(_fp) == EOF ? EOF \ : *(unsigned char*)(_fp)->_IO_read_ptr) #define _IO_putc(_ch, _fp) \ (((_fp)->_IO_write_ptr >= (_fp)->_IO_write_end) \ ? __overflow(_fp, (unsigned char)(_ch)) \ : (unsigned char)(*(_fp)->_IO_write_ptr++ = (_ch))) extern int _IO_vfscanf __P((_IO_FILE*, __const char*, _IO_va_list, int*)); extern int _IO_vfprintf __P((_IO_FILE*, __const char*, _IO_va_list)); extern _IO_ssize_t _IO_padn __P((_IO_FILE *, int, _IO_ssize_t)); extern _IO_size_t _IO_sgetn __P((_IO_FILE *, void*, _IO_size_t)); extern void _IO_free_backup_area __P((_IO_FILE*)); #ifdef __cplusplus } #endif #endif /* _IO_STDIO_H */ ./usr/include/stab.def100644 1676 334 25041 5523074510 12736 0ustar hjlisl/* Table of DBX symbol codes for the GNU system. Copyright (C) 1988, 1991 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* New stab from Solaris 2. This uses an n_type of 0, which in a.out files overlaps the N_UNDF used for ordinary symbols. In ELF files, the debug information is in a different file section, so there is no conflict. This symbol's n_value gives the size of the string section associated with this file. The symbol's n_strx (relative to the just-updated string section start address) gives the name of the source file, e.g. "foo.c", without any path information. The symbol's n_desc gives the count of upcoming symbols associated with this file (not including this one). */ /* __define_stab (N_UNDF, 0x00, "UNDF") */ /* Global variable. Only the name is significant. To find the address, look in the corresponding external symbol. */ __define_stab (N_GSYM, 0x20, "GSYM") /* Function name for BSD Fortran. Only the name is significant. To find the address, look in the corresponding external symbol. */ __define_stab (N_FNAME, 0x22, "FNAME") /* Function name or text-segment variable for C. Value is its address. Desc is supposedly starting line number, but GCC doesn't set it and DBX seems not to miss it. */ __define_stab (N_FUN, 0x24, "FUN") /* Data-segment variable with internal linkage. Value is its address. "Static Sym". */ __define_stab (N_STSYM, 0x26, "STSYM") /* BSS-segment variable with internal linkage. Value is its address. */ __define_stab (N_LCSYM, 0x28, "LCSYM") /* Name of main routine. Only the name is significant. */ __define_stab (N_MAIN, 0x2a, "MAIN") /* Solaris2: Read-only data symbols. */ __define_stab (N_ROSYM, 0x2c, "ROSYM") /* Global symbol in Pascal. Supposedly the value is its line number; I'm skeptical. */ __define_stab (N_PC, 0x30, "PC") /* Number of symbols: 0, files,,funcs,lines according to Ultrix V4.0. */ __define_stab (N_NSYMS, 0x32, "NSYMS") /* "No DST map for sym: name, ,0,type,ignored" according to Ultrix V4.0. */ __define_stab (N_NOMAP, 0x34, "NOMAP") /* New stab from Solaris 2. Like N_SO, but for the object file. Two in a row provide the build directory and the relative path of the .o from it. Solaris2 uses this to avoid putting the stabs info into the linked executable; this stab goes into the ".stab.index" section, and the debugger reads the real stabs directly from the .o files instead. */ __define_stab (N_OBJ, 0x38, "OBJ") /* New stab from Solaris 2. Options for the debugger, related to the source language for this module. E.g. whether to use ANSI integral promotions or traditional integral promotions. */ __define_stab (N_OPT, 0x3c, "OPT") /* Register variable. Value is number of register. */ __define_stab (N_RSYM, 0x40, "RSYM") /* Modula-2 compilation unit. Can someone say what info it contains? */ __define_stab (N_M2C, 0x42, "M2C") /* Line number in text segment. Desc is the line number; value is corresponding address. On Solaris2, the line number is relative to the start of the current function. */ __define_stab (N_SLINE, 0x44, "SLINE") /* Similar, for data segment. */ __define_stab (N_DSLINE, 0x46, "DSLINE") /* Similar, for bss segment. */ __define_stab (N_BSLINE, 0x48, "BSLINE") /* Sun's source-code browser stabs. ?? Don't know what the fields are. Supposedly the field is "path to associated .cb file". THIS VALUE OVERLAPS WITH N_BSLINE! */ __define_stab (N_BROWS, 0x48, "BROWS") /* GNU Modula-2 definition module dependency. Value is the modification time of the definition file. Other is non-zero if it is imported with the GNU M2 keyword %INITIALIZE. Perhaps N_M2C can be used if there are enough empty fields? */ __define_stab(N_DEFD, 0x4a, "DEFD") /* New in Solaris2. Function start/body/end line numbers. */ __define_stab(N_FLINE, 0x4C, "FLINE") /* THE FOLLOWING TWO STAB VALUES CONFLICT. Happily, one is for Modula-2 and one is for C++. Still,... */ /* GNU C++ exception variable. Name is variable name. */ __define_stab (N_EHDECL, 0x50, "EHDECL") /* Modula2 info "for imc": name,,0,0,0 according to Ultrix V4.0. */ __define_stab (N_MOD2, 0x50, "MOD2") /* GNU C++ `catch' clause. Value is its address. Desc is nonzero if this entry is immediately followed by a CAUGHT stab saying what exception was caught. Multiple CAUGHT stabs means that multiple exceptions can be caught here. If Desc is 0, it means all exceptions are caught here. */ __define_stab (N_CATCH, 0x54, "CATCH") /* Structure or union element. Value is offset in the structure. */ __define_stab (N_SSYM, 0x60, "SSYM") /* Solaris2: Last stab emitted for module. */ __define_stab (N_ENDM, 0x62, "ENDM") /* Name of main source file. Value is starting text address of the compilation. If multiple N_SO's appear, the first to contain a trailing / is the compilation directory. The first to not contain a trailing / is the source file name, relative to the compilation directory. Others (perhaps resulting from cfront) are ignored. On Solaris2, value is undefined, but desc is a source-language code. */ __define_stab (N_SO, 0x64, "SO") /* Automatic variable in the stack. Value is offset from frame pointer. Also used for type descriptions. */ __define_stab (N_LSYM, 0x80, "LSYM") /* Beginning of an include file. Only Sun uses this. In an object file, only the name is significant. The Sun linker puts data into some of the other fields. */ __define_stab (N_BINCL, 0x82, "BINCL") /* Name of sub-source file (#include file). Value is starting text address of the compilation. */ __define_stab (N_SOL, 0x84, "SOL") /* Parameter variable. Value is offset from argument pointer. (On most machines the argument pointer is the same as the frame pointer. */ __define_stab (N_PSYM, 0xa0, "PSYM") /* End of an include file. No name. This and N_BINCL act as brackets around the file's output. In an object file, there is no significant data in this entry. The Sun linker puts data into some of the fields. */ __define_stab (N_EINCL, 0xa2, "EINCL") /* Alternate entry point. Value is its address. */ __define_stab (N_ENTRY, 0xa4, "ENTRY") /* Beginning of lexical block. The desc is the nesting level in lexical blocks. The value is the address of the start of the text for the block. The variables declared inside the block *precede* the N_LBRAC symbol. On Solaris2, the value is relative to the start of the current function. */ __define_stab (N_LBRAC, 0xc0, "LBRAC") /* Place holder for deleted include file. Replaces a N_BINCL and everything up to the corresponding N_EINCL. The Sun linker generates these when it finds multiple identical copies of the symbols from an include file. This appears only in output from the Sun linker. */ __define_stab (N_EXCL, 0xc2, "EXCL") /* Modula-2 scope information. Can someone say what info it contains? */ __define_stab (N_SCOPE, 0xc4, "SCOPE") /* End of a lexical block. Desc matches the N_LBRAC's desc. The value is the address of the end of the text for the block. On Solaris2, the value is relative to the start of the current function. */ __define_stab (N_RBRAC, 0xe0, "RBRAC") /* Begin named common block. Only the name is significant. */ __define_stab (N_BCOMM, 0xe2, "BCOMM") /* End named common block. Only the name is significant (and it should match the N_BCOMM). */ __define_stab (N_ECOMM, 0xe4, "ECOMM") /* Member of a common block; value is offset within the common block. This should occur within a BCOMM/ECOMM pair. */ __define_stab (N_ECOML, 0xe8, "ECOML") /* Solaris2: Pascal "with" statement: type,,0,0,offset */ __define_stab (N_WITH, 0xea, "WITH") /* These STAB's are used on Gould systems for Non-Base register symbols or something like that. FIXME. I have assigned the values at random since I don't have a Gould here. Fixups from Gould folk welcome... */ __define_stab (N_NBTEXT, 0xF0, "NBTEXT") __define_stab (N_NBDATA, 0xF2, "NBDATA") __define_stab (N_NBBSS, 0xF4, "NBBSS") __define_stab (N_NBSTS, 0xF6, "NBSTS") __define_stab (N_NBLCS, 0xF8, "NBLCS") /* Second symbol entry containing a length-value for the preceding entry. The value is the length. */ __define_stab (N_LENG, 0xfe, "LENG") /* The above information, in matrix format. STAB MATRIX _________________________________________________ | 00 - 1F are not dbx stab symbols | | In most cases, the low bit is the EXTernal bit| | 00 UNDEF | 02 ABS | 04 TEXT | 06 DATA | | 01 |EXT | 03 |EXT | 05 |EXT | 07 |EXT | | 08 BSS | 0A INDR | 0C FN_SEQ | 0E | | 09 |EXT | 0B | 0D | 0F | | 10 | 12 COMM | 14 SETA | 16 SETT | | 11 | 13 | 15 | 17 | | 18 SETD | 1A SETB | 1C SETV | 1E WARNING| | 19 | 1B | 1D | 1F FN | |_______________________________________________| | Debug entries with bit 01 set are unused. | | 20 GSYM | 22 FNAME | 24 FUN | 26 STSYM | | 28 LCSYM | 2A MAIN | 2C ROSYM | 2E | | 30 PC | 32 NSYMS | 34 NOMAP | 36 | | 38 OBJ | 3A | 3C OPT | 3E | | 40 RSYM | 42 M2C | 44 SLINE | 46 DSLINE | | 48 BSLINE*| 4A DEFD | 4C FLINE | 4E | | 50 EHDECL*| 52 | 54 CATCH | 56 | | 58 | 5A | 5C | 5E | | 60 SSYM | 62 ENDM | 64 SO | 66 | | 68 | 6A | 6C | 6E | | 70 | 72 | 74 | 76 | | 78 | 7A | 7C | 7E | | 80 LSYM | 82 BINCL | 84 SOL | 86 | | 88 | 8A | 8C | 8E | | 90 | 92 | 94 | 96 | | 98 | 9A | 9C | 9E | | A0 PSYM | A2 EINCL | A4 ENTRY | A6 | | A8 | AA | AC | AE | | B0 | B2 | B4 | B6 | | B8 | BA | BC | BE | | C0 LBRAC | C2 EXCL | C4 SCOPE | C6 | | C8 | CA | CC | CE | | D0 | D2 | D4 | D6 | | D8 | DA | DC | DE | | E0 RBRAC | E2 BCOMM | E4 ECOMM | E6 | | E8 ECOML | EA WITH | EC | EE | | F0 | F2 | F4 | F6 | | F8 | FA | FC | FE LENG | +-----------------------------------------------+ * 50 EHDECL is also MOD2. * 48 BSLINE is also BROWS. */ ./usr/include/i386/ 40755 1676 334 0 5522022401 11666 5ustar hjlisl./usr/include/i386/jmp_buf.h100644 1676 334 422 5514305257 13552 0ustar hjlisl#ifndef _I386_JMP_BUF_H #define _I386_JMP_BUF_H /* Define the machine-dependent type `jmp_buf'. Intel 386 version. */ typedef struct { long int __bx, __si, __di; __ptr_t __bp; __ptr_t __sp; __ptr_t __pc; } __jmp_buf[1]; #endif /* _I386_JMP_BUF_H */ ./usr/include/i386/fpu_control.h100644 1676 334 5110 5514552227 14502 0ustar hjlisl/* Copyright (C) 1993 Olaf Flebbe This file is part of the Linux C Library. The Linux C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The Linux C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. */ #ifndef _I386_FPU_CONTROL_H #define _I386_FPU_CONTROL_H /* Here is the dirty part. Settup up your 387 through the control word * (cw) register. * * 15-13 12 11-10 9-8 7-6 5 4 3 2 1 0 * | reserved | IC | RC | PC | reserved | PM | UM | OM | ZM | DM | IM * * IM: Invalid operation mask * DM: Denormalized operand mask * ZM: Zero-divide mask * OM: Overflow mask * UM: Underflow mask * PM: Precision (inexact result) mask * * Mask bit is 1 means no interrupt. * * PC: Precision control * 11 - round to extended precision * 10 - round to double precision * 00 - round to single precision * * RC: Rounding control * 00 - rounding to nearest * 01 - rounding down (toward - infinity) * 10 - rounding up (toward + infinity) * 11 - rounding toward zero * * IC: Infinity control * That is for 8087 and 80287 only. * * The hardware default is 0x037f. I choose 0x1372. */ #include /* masking of interrupts */ #define _FPU_MASK_IM 0x01 #define _FPU_MASK_DM 0x02 #define _FPU_MASK_ZM 0x04 #define _FPU_MASK_OM 0x08 #define _FPU_MASK_UM 0x10 #define _FPU_MASK_PM 0x20 /* precision control */ #define _FPU_EXTENDED 0x300 /* RECOMMENDED */ #define _FPU_DOUBLE 0x200 #define _FPU_SINGLE 0x0 /* DO NOT USE */ /* rounding control */ #define _FPU_RC_NEAREST 0x0 /* RECOMMENDED */ #define _FPU_RC_DOWN 0x400 #define _FPU_RC_UP 0x800 #define _FPU_RC_ZERO 0xC00 #define _FPU_RESERVED 0xF0C0 /* Reserved bits in cw */ /* Now two recommended cw */ /* Linux default: - extended precision - rounding to nearest - exceptions on overflow, zero divide and NaN */ #define _FPU_DEFAULT 0x1372 /* IEEE: same as above, but exceptions */ #define _FPU_IEEE 0x137f /* private namespace. It should only be used by crt0.o. */ extern unsigned short __fpu_control; __BEGIN_DECLS /* called by crt0.o. It can be used to manipulate 387 control word. */ extern void __setfpucw __P ((unsigned short)); __END_DECLS #endif /* _I386_FPU_CONTROL */ ./usr/include/i386/syscall.h100644 1676 334 6763 5514304705 13635 0ustar hjlisl#ifndef _I386_SYSCALL_H #define _I386_SYSCALL_H #define _syscall0(type,name) \ type name(void) \ { \ long __res; \ __asm__ __volatile__ ("int $0x80" \ : "=a" (__res) \ : "0" (SYS_##name)); \ if (__check_errno(__res)) \ return (type) __res; \ errno = -__res; \ return -1; \ } #if defined(__PIC__) || defined (__pic__) #define _syscall1(type,name,atype,a) \ type name(atype a) \ { \ long __res; \ __asm__ __volatile__ ("pushl %%ebx\n\t" \ "movl %%ecx,%%ebx\n\t" \ "int $0x80\n\t" \ "popl %%ebx" \ : "=a" (__res) \ : "0" (SYS_##name),"c" ((long)(a)):"bx"); \ if (__check_errno(__res)) \ return (type) __res; \ errno = -__res; \ return -1; \ } #define _syscall2(type,name,atype,a,btype,b) \ type name(atype a,btype b) \ { \ long __res; \ __asm__ __volatile__ ("pushl %%ebx\n\t" \ "movl %%edx,%%ebx\n\t" \ "int $0x80\n\t" \ "popl %%ebx" \ : "=a" (__res) \ : "0" (SYS_##name),"d" ((long)(a)),"c" ((long)(b)):"bx"); \ if (__check_errno(__res)) \ return (type) __res; \ errno = -__res; \ return -1; \ } #define _syscall3(type,name,atype,a,btype,b,ctype,c) \ type name(atype a,btype b,ctype c) \ { \ long __res; \ __asm__ __volatile__ ("pushl %%ebx\n\t" \ "movl %%esi,%%ebx\n\t" \ "int $0x80\n\t" \ "popl %%ebx" \ : "=a" (__res) \ : "0" (SYS_##name),"S" ((long)(a)),"c" ((long)(b)),"d" ((long)(c)):"bx"); \ if (__check_errno(__res)) \ return (type) __res; \ errno=-__res; \ return -1; \ } #define _syscall4(type,name,atype,a,btype,b,ctype,c,dtype,d) \ type name (atype a, btype b, ctype c, dtype d) \ { \ long __res; \ __asm__ __volatile__ ("pushl %%ebx\n\t" \ "movl %%edi,%%ebx\n\t" \ "int $0x80\n\t" \ "popl %%ebx" \ : "=a" (__res) \ : "0" (SYS_##name),"D" ((long)(a)),"c" ((long)(b)), \ "d" ((long)(c)),"S" ((long)(d))); \ if (__check_errno(__res)) \ return (type) __res; \ errno=-__res; \ return -1; \ } #else /* PIC */ #define _syscall1(type,name,atype,a) \ type name(atype a) \ { \ long __res; \ __asm__ __volatile__ ("int $0x80" \ : "=a" (__res) \ : "0" (SYS_##name),"b" ((long)(a)):"bx"); \ if (__check_errno(__res)) \ return (type) __res; \ errno = -__res; \ return -1; \ } #define _syscall2(type,name,atype,a,btype,b) \ type name(atype a,btype b) \ { \ long __res; \ __asm__ __volatile__ ("int $0x80" \ : "=a" (__res) \ : "0" (SYS_##name),"b" ((long)(a)),"c" ((long)(b)):"bx"); \ if (__check_errno(__res)) \ return (type) __res; \ errno = -__res; \ return -1; \ } #define _syscall3(type,name,atype,a,btype,b,ctype,c) \ type name(atype a,btype b,ctype c) \ { \ long __res; \ __asm__ __volatile__ ("int $0x80" \ : "=a" (__res) \ : "0" (SYS_##name),"b" ((long)(a)),"c" ((long)(b)),"d" ((long)(c)):"bx"); \ if (__check_errno(__res)) \ return (type) __res; \ errno=-__res; \ return -1; \ } #define _syscall4(type,name,atype,a,btype,b,ctype,c,dtype,d) \ type name (atype a, btype b, ctype c, dtype d) \ { \ long __res; \ __asm__ __volatile__ ("int $0x80" \ : "=a" (__res) \ : "0" (SYS_##name),"b" ((long)(a)),"c" ((long)(b)), \ "d" ((long)(c)),"S" ((long)(d))); \ if (__check_errno(__res)) \ return (type) __res; \ errno=-__res; \ return -1; \ } #define _syscall5(type,name,atype,a,btype,b,ctype,c,dtype,d,etype,e) \ type name (atype a,btype b,ctype c,dtype d,etype e) \ { \ long __res; \ __asm__ __volatile__ ("int $0x80" \ : "=a" (__res) \ : "0" (SYS_##name),"b" ((long)(a)),"c" ((long)(b)), \ "d" ((long)(c)),"S" ((long)(d)),"D" ((long)(e))); \ if (__check_errno(__res)) \ return (type) __res; \ errno=-__res; \ return -1; \ } #endif /* PIC */ #endif /* _I386_SYSCALL_H */ ./usr/include/m68k/ 40755 1676 334 0 5542403422 11772 5ustar hjlisl./usr/include/m68k/jmp_buf.h100644 1676 334 1020 5514304706 13657 0ustar hjlisl/* Define the machine-dependent type `jmp_buf'. m68k version. */ typedef struct { /* There are eight 4-byte data registers, but D0 is not saved. */ long int __dregs[7]; /* There are six 4-byte address registers, plus the FP and SP. */ int *__aregs[6]; int * __fp; int * __sp; #if defined(__HAVE_68881__) || defined(__HAVE_FPU__) /* There are eight floating point registers which are saved in IEEE 96-bit extended format. */ char __fpregs[8 * (96 / 8)]; #endif } __jmp_buf[1]; ./usr/include/m68k/fpu_control.h100644 1676 334 5406 5521071213 14573 0ustar hjlisl/* Copyright (C) 1993 Olaf Flebbe This file is part of the Linux C Library. The Linux C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The Linux C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. */ #ifndef _M68K_FPU_CONTROL_H #define _M68K_FPU_CONTROL_H /* * Motorola floating point control register bits. * * 31-16 -> reserved (read as 0, ignored on write) * 15 -> enable trap for BSUN exception * 14 -> enable trap for SNAN exception * 13 -> enable trap for OPERR exception * 12 -> enable trap for OVFL exception * 11 -> enable trap for UNFL exception * 10 -> enable trap for DZ exception * 9 -> enable trap for INEX2 exception * 8 -> enable trap for INEX1 exception * 7-6 -> Precision Control * 5-4 -> Rounding Control * 3-0 -> zero (read as 0, write as 0) * * * Precision Control: * 00 - round to extended precision * 01 - round to single precision * 10 - round to double precision * 11 - undefined * * Rounding Control: * 00 - rounding to nearest (RN) * 01 - rounding toward zero (RZ) * 10 - rounding (down)toward minus infinity (RM) * 11 - rounding (up) toward plus infinity (RP) * * The hardware default is 0x0000. I choose 0x1372. */ #include /* masking of interrupts */ #define _FPU_MASK_BSUN 0x8000 #define _FPU_MASK_SNAN 0x4000 #define _FPU_MASK_OPERR 0x2000 #define _FPU_MASK_OVFL 0x1000 #define _FPU_MASK_UNFL 0x0800 #define _FPU_MASK_DZ 0x0400 #define _FPU_MASK_INEX1 0x0200 #define _FPU_MASK_INEX2 0x0100 /* precision control */ #define _FPU_EXTENDED 0x00 /* RECOMMENDED */ #define _FPU_DOUBLE 0x80 #define _FPU_SINGLE 0x40 /* DO NOT USE */ /* rounding control */ #define _FPU_RC_NEAREST 0x00 /* RECOMMENDED */ #define _FPU_RC_ZERO 0x10 #define _FPU_RC_DOWN 0x20 #define _FPU_RC_UP 0x30 #define _FPU_RESERVED 0x0000000F /* Reserved bits in cw */ /* Now two recommended cw */ /* Linux default: - extended precision - rounding to nearest - exceptions on overflow, zero divide and NaN */ #define _FPU_DEFAULT 0x00005400 /* IEEE: same as above, but exceptions */ #define _FPU_IEEE 0x0000FF00 /* private namespace. It should only be used by crt0.o. */ extern unsigned long __fpu_control; __BEGIN_DECLS /* called by crt0.o. It can be used to manipulate 387 control word. */ extern void __setfpucw __P ((unsigned long)); __END_DECLS #endif /* _M68K_FPU_CONTROL_H */ ./usr/include/m68k/syscall.h100644 1676 334 6463 5542403402 13721 0ustar hjlisl#ifndef _M68K_SYSCALL_H #define _M68K_SYSCALL_H #define _syscall0(type,name) \ type name(void) \ { \ register long __res __asm__ ("d0") = SYS_##name; \ __asm__ __volatile__ ("trap #0" \ : "=g" (__res) \ : "0" (SYS_##name)); \ if (__check_errno(__res)) \ return (type) __res; \ errno = -__res; \ return -1; \ } #define _syscall1(type,name,atype,a) \ type name(atype a) \ { \ register long __res __asm__ ("d0") = SYS_##name; \ __asm__ __volatile__ ("movel %2,d1\n\t" \ "trap #0" \ : "=g" (__res) \ : "0" (SYS_##name), "g" ((long)(a)) \ : "d1"); \ if (__check_errno(__res)) \ return (type) __res; \ errno = -__res; \ return -1; \ } #define _syscall2(type,name,atype,a,btype,b) \ type name(atype a,btype b) \ { \ register long __res __asm__ ("d0") = SYS_##name; \ __asm__ __volatile__ ("movel %2,d1\n\t" \ "movel %3,d2\n\t" \ "trap #0" \ : "=g" (__res) \ : "0" (SYS_##name), "g" ((long)(a)), \ "g" ((long)(b)) \ : "d1", "d2"); \ if (__check_errno(__res)) \ return (type) __res; \ errno = -__res; \ return -1; \ } #define _syscall3(type,name,atype,a,btype,b,ctype,c) \ type name(atype a,btype b,ctype c) \ { \ register long __res __asm__ ("d0") = SYS_##name; \ __asm__ __volatile__ ("movel %2,d1\n\t" \ "movel %3,d2\n\t" \ "movel %4,d3\n\t" \ "trap #0" \ : "=g" (__res) \ : "0" (SYS_##name), "g" ((long)(a)), \ "g" ((long)(b)), \ "g" ((long)(c)) \ : "d1", "d2", "d3"); \ if (__check_errno(__res)) \ return (type) __res; \ errno = -__res; \ return -1; \ } #define _syscall4(type,name,atype,a,btype,b,ctype,c,dtype,d) \ type name (atype a, btype b, ctype c, dtype d) \ { \ register long __res __asm__ ("d0") = SYS_##name; \ __asm__ __volatile__ ("movel %2,d1\n\t" \ "movel %3,d2\n\t" \ "movel %4,d3\n\t" \ "movel %5,d4\n\t" \ "trap #0" \ : "=g" (__res) \ : "0" (SYS_##name), "g" ((long)(a)), \ "g" ((long)(b)), \ "g" ((long)(c)), \ "g" ((long)(d)) \ : "d1", "d2", "d3", "d4"); \ if (__check_errno(__res)) \ return (type) __res; \ errno = -__res; \ return -1; \ } #define _syscall5(type,name,atype,a,btype,b,ctype,c,dtype,d,etype,e) \ type name (atype a,btype b,ctype c,dtype d,etype e) \ { \ register long __res __asm__ ("d0") = SYS_##name; \ __asm__ __volatile__ ("movel %2,d1\n\t" \ "movel %3,d2\n\t" \ "movel %4,d3\n\t" \ "movel %5,d4\n\t" \ "movel %6,d5\n\t" \ "trap #0" \ : "=g" (__res) \ : "0" (SYS_##name), "g" ((long)(a)), \ "g" ((long)(b)), \ "g" ((long)(c)), \ "g" ((long)(d)), \ "g" ((long)(e)) \ : "d1", "d2", "d3", "d4", "d5"); \ if (__check_errno(__res)) \ return (type) __res; \ errno = -__res; \ return -1; \ } #endif /* _M68K_SYSCALL_H */ ./usr/include/m68k/__math.h100644 1676 334 12441 5521071212 13504 0ustar hjlisl/* Copyright (C) 1991, 1992 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifdef __GNUC__ #include #ifdef __NO_MATH_INLINES #define __m81_u(x) __CONCAT(__,x) #else #define __m81_u(x) x #define __MATH_INLINES 1 #endif #define __inline_mathop2(func, op) \ extern __inline __CONSTVALUE double \ __m81_u(func)(double __mathop_x) __CONSTVALUE2; \ extern __inline __CONSTVALUE double \ __m81_u(func)(double __mathop_x) \ { \ double __result; \ __asm("f" __STRING(op) "%.x %1, %0" : "=f" (__result) : "f" (__mathop_x));\ return __result; \ } #define __inline_mathop(op) __inline_mathop2(op, op) __inline_mathop(acos) __inline_mathop(asin) __inline_mathop(atan) __inline_mathop(cos) __inline_mathop(sin) __inline_mathop(tan) __inline_mathop(cosh) __inline_mathop(sinh) __inline_mathop(tanh) __inline_mathop2(exp, etox) __inline_mathop2(fabs, abs) __inline_mathop(log10) __inline_mathop2(log, logn) __inline_mathop2(floor, intrz) __inline_mathop(sqrt) __inline_mathop2(__rint, int) __inline_mathop2(__expm1, etoxm1) #ifdef __USE_MISC __inline_mathop2(rint, int) __inline_mathop2(expm1, etoxm1) __inline_mathop2(log1p, lognp1) __inline_mathop(atanh) #endif extern __inline __CONSTVALUE double __m81_u(__drem)(double __x, double __y) __CONSTVALUE2; extern __inline __CONSTVALUE double __m81_u(__drem)(double __x, double __y) { double __result; __asm("frem%.x %1, %0" : "=f" (__result) : "f" (__y), "0" (__x)); return __result; } extern __inline __CONSTVALUE double __m81_u(ldexp)(double __x, int __e) __CONSTVALUE2; extern __inline __CONSTVALUE double __m81_u(ldexp)(double __x, int __e) { double __result; double __double_e = (double) __e; __asm("fscale%.x %1, %0" : "=f" (__result) : "f" (__double_e), "0" (__x)); return __result; } extern __inline __CONSTVALUE double __m81_u(fmod)(double __x, double __y) __CONSTVALUE2; extern __inline __CONSTVALUE double __m81_u(fmod)(double __x, double __y) { double __result; __asm("fmod%.x %1, %0" : "=f" (__result) : "f" (__y), "0" (__x)); return __result; } extern __inline double __m81_u(frexp)(double __value, int *__expptr); extern __inline double __m81_u(frexp)(double __value, int *__expptr) { double __mantissa, __exponent; __asm("fgetexp%.x %1, %0" : "=f" (__exponent) : "f" (__value)); __asm("fgetman%.x %1, %0" : "=f" (__mantissa) : "f" (__value)); *__expptr = (int) __exponent; return __mantissa; } extern __inline __CONSTVALUE double __m81_u(pow)(double __x, double __y) __CONSTVALUE2; extern __inline __CONSTVALUE double __m81_u(pow)(double __x, double __y) { double __result; if (__y == 0.0 || __x == 1.0) __result = 1.0; else if (__y == 1.0) __result = __x; else if (__y == 2.0) __result = __x * __x; else if (__x == 10.0) __asm("ftentox%.x %1, %0" : "=f" (__result) : "f" (__y)); else if (__x == 2.0) __asm("ftwotox%.x %1, %0" : "=f" (__result) : "f" (__y)); else __result = __m81_u(exp)(__y * __m81_u(log)(__x)); return __result; } extern __inline __CONSTVALUE double __m81_u(ceil)(double __x) __CONSTVALUE2; extern __inline __CONSTVALUE double __m81_u(ceil)(double __x) { double __result; unsigned long int __ctrl_reg; __asm("fmove%.l fpcr, %0" : "=g" (__ctrl_reg)); /* Set rounding towards positive infinity. */ __asm("fmove%.l %0, fpcr" : /* No outputs. */ : "g" (__ctrl_reg | 0x30)); /* Convert X to an integer, using +Inf rounding. */ __asm("fint%.x %1, %0" : "=f" (__result) : "f" (__x)); /* Restore the previous rounding mode. */ __asm("fmove%.l %0, fpcr" : /* No outputs. */ : "g" (__ctrl_reg)); return __result; } extern __inline double __m81_u(modf)(double __value, double *__iptr); extern __inline double __m81_u(modf)(double __value, double *__iptr) { double __modf_int = __m81_u(floor)(__value); *__iptr = __modf_int; return __value - __modf_int; } extern __inline int __m81_u(__isinf)(double __value); extern __inline int __m81_u(__isinf)(double __value) { /* There is no branch-condition for infinity, so we must extract and examine the condition codes manually. */ unsigned long int __fpsr; __asm("ftst%.x %1\n" "fmove%.l fpsr, %0" : "=g" (__fpsr) : "f" (__value)); return (__fpsr & (2 << (3 * 8))) ? (__value < 0 ? -1 : 1) : 0; } extern __inline int __m81_u(__isnan)(double __value); extern __inline int __m81_u(__isnan)(double __value) { char __result; __asm("ftst%.x %1\n" "fsun %0" : "=g" (__result) : "f" (__value)); return __result; } #endif /* GCC. */ ./usr/include/iostdio.h100644 1676 334 6336 5502266226 13142 0ustar hjlisl/* Copyright (C) 1993 Free Software Foundation This file is part of the GNU IO Library. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU CC; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. As a special exception, if you link this library with files compiled with a GNU compiler to produce an executable, this does not cause the resulting executable to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the executable file might be covered by the GNU General Public License. */ /* This file defines a stdio-like environment, except that it avoid link-time name clashes with an existing stdio. It allows for testing the libio using stdio-using programs with an incompatible libc.a. It is not predantically correct - e.g. some macros are used that may evaluate a stream argument more than once. */ #include "iolibio.h" typedef _IO_FILE FILE; #ifndef EOF #define EOF (-1) #endif #ifndef BUFSIZ #define BUFSIZ 1024 #endif /* #define size_t, fpos_t L_tmpname TMP_MAX */ #define _IOFBF 0 /* Fully buffered. */ #define _IOLBF 1 /* Line buffered. */ #define _IONBF 2 /* No buffering. */ #define SEEK_SET 0 #define SEEK_CUR 1 #define SEEK_END 2 #define stdin _IO_stdin #define stdout _IO_stdout #define stderr _IO_stderr #define getc(_fp) _IO_getc(_fp) #define putc(_ch, _fp) _IO_putc(_ch, _fp) #define clearerr _IO_clearerr #define fclose _IO_fclose #define feof _IO_feof #define ferror _IO_ferror #define fflush _IO_fflush #define fgetc(__fp) _IO_getc(_fp) #define fgetpos _IO_fgetpos #define fgets _IO_fgets #define fopen _IO_fopen #define fprintf _IO_fprintf #define fputc(_ch, _fp) _IO_putc(_ch, _fp) #define fputs _IO_fputs #define fread _IO_fread #define freopen _IO_freopen #define fscanf _IO_fscanf #define fseek _IO_fseek #define fsetpos _IO_fsetpos #define ftell _IO_ftell #define fwrite _IO_fwrite #define gets _IO_gets #define perror _IO_perror #define printf _IO_printf #define puts _IO_puts #define remove ??? _ARGS((const char*)) #define rename ??? _ARGS((const char* _old, const char* _new)) #define rewind _IO_rewind #define scanf _IO_scanf #define setbuf _IO_setbuf #define setbuffer ??? _ARGS((FILE*, char*, int)) #define setvbuf _IO_setvbuf #define sprintf _IO_sprintf #define sscanf _IO_sscanf #define tmpfile ??? _ARGS((void)) #define tmpnam ??? _ARGS((char*)) #define ungetc _IO_ungetc #define vfprintf _IO_vfprintf #define vprintf(__fmt, __args) vfprintf(stdout, __fmt, __args) #define vsprintf _IO_vsprintf #if !defined(__STRICT_ANSI__) || defined(_POSIX_SOURCE) #define fdopen _IO_fdopen #define fileno _IO_fileno #define popen _IO_popen #define pclose _IO_pclose #define setbuf _IO_setbuf #define setlinebuf _IO_setlinebuf #endif ./usr/include/iolibio.h100644 1676 334 5025 5502266226 13110 0ustar hjlisl#ifndef _IOLIBIO_H #define _IOLIBIO_H #include "libio.h" /* These emulate stdio functionality, but with a different name (_IO_ungetc instead of ungetc), and using _IO_FILE instead of FILE. */ extern int _IO_fclose __P((_IO_FILE*)); extern _IO_FILE *_IO_fdopen __P((int, const char*)); extern int _IO_fflush __P((_IO_FILE*)); extern int _IO_fgetpos __P((_IO_FILE*, _IO_fpos_t*)); extern char* _IO_fgets __P((char*, int, _IO_FILE*)); extern _IO_FILE *_IO_fopen __P((const char*, const char*)); extern int _IO_fprintf __P((_IO_FILE*, const char*, ...)); extern int _IO_fputs __P((const char*, _IO_FILE*)); extern _IO_size_t _IO_fread __P((void *, _IO_size_t, _IO_size_t, _IO_FILE*)); extern int _IO_fscanf __P((_IO_FILE *, const char *, ...)); extern int _IO_fsetpos __P((_IO_FILE*, const _IO_fpos_t *)); extern long int _IO_ftell __P((_IO_FILE*)); extern _IO_size_t _IO_fwrite __P((const void*, _IO_size_t, _IO_size_t, _IO_FILE*)); extern char* _IO_gets __P((char*)); extern void _IO_perror __P((const char*)); extern int _IO_printf __P((const char *, ...)); extern int _IO_puts __P((const char*)); extern int _IO_scanf __P((const char*, ...)); extern void _IO_setbuffer __P((_IO_FILE *, char*, _IO_size_t)); extern int _IO_setvbuf __P((_IO_FILE*, char*, int, _IO_size_t)); extern int _IO_sscanf __P((const char*, const char*, ...)); extern int _IO_sprintf __P((char *, const char*, ...)); extern int _IO_ungetc __P((int, _IO_FILE*)); extern int _IO_vfscanf __P((_IO_FILE *, const char *, _IO_va_list, int *__errp)); extern int _IO_vsscanf __P((const char *, const char *, _IO_va_list)); extern int _IO_vsprintf __P((char*, const char*, _IO_va_list)); #ifndef _IO_pos_BAD #define _IO_pos_BAD ((_IO_fpos_t)(-1)) #endif #define _IO_clearerr(FP) ((FP)->_flags &= ~(_IO_ERR_SEEN|_IO_EOF_SEEN)) #define _IO_feof(__fp) (((__fp)->_flags & _IO_EOF_SEEN) != 0) #define _IO_ferror(__fp) (((__fp)->_flags & _IO_ERR_SEEN) != 0) #define _IO_fseek(__fp, __offset, __whence) \ (_IO_seekoff(__fp, __offset, (_IO_off_t)(__whence)) == _IO_pos_BAD ? EOF : 0) #define _IO_rewind(FILE) (void)_IO_seekoff(FILE, 0, 0) #define _IO_vprintf(FORMAT, ARGS) _IO_vfprintf(_IO_stdout, FORMAT, ARGS) #define _IO_freopen(FILENAME, MODE, FP) \ (_IO_file_close_it(FP), _IO_file_fopen(FP, FILENAME, MODE)) #define _IO_fileno(FP) ((FP)->_fileno) extern _IO_FILE* _IO_popen __P((const char*, const char*)); #define _IO_pclose _IO_fclose #define _IO_setbuf(_FP, _BUF) _IO_setbuffer(_FP, _BUF, _IO_BUFSIZ) #define _IO_setlinebuf(_FP) _IO_setvbuf(_FP, NULL, 1, 0) #endif /* _IOLIBIO_H */ ./usr/include/stab.h100644 1676 334 1457 5523074507 12422 0ustar hjlisl#ifndef __GNU_STAB__ /* Indicate the GNU stab.h is in use. */ #define __GNU_STAB__ #define __define_stab(NAME, CODE, STRING) NAME=CODE, enum __stab_debug_code { #include "stab.def" LAST_UNUSED_STAB_CODE }; #undef __define_stab /* Definitions of "desc" field for N_SO stabs in Solaris2. */ #define N_SO_AS 1 #define N_SO_C 2 #define N_SO_ANSI_C 3 #define N_SO_CC 4 /* C++ */ #define N_SO_FORTRAN 5 #define N_SO_PASCAL 6 /* Solaris2: Floating point type values in basic types. */ #define NF_NONE 0 #define NF_SINGLE 1 /* IEEE 32-bit */ #define NF_DOUBLE 2 /* IEEE 64-bit */ #define NF_COMPLEX 3 /* Fortran complex */ #define NF_COMPLEX16 4 /* Fortran double complex */ #define NF_COMPLEX32 5 /* Fortran complex*16 */ #define NF_LDOUBLE 6 /* Long double (whatever that is) */ #endif /* __GNU_STAB_ */ ./usr/include/demangle.h100644 1676 334 5360 5535444117 13243 0ustar hjlisl/* Defs for interface to demanglers. Copyright 1992 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #if !defined (_DEMANGLE_H) #define _DEMANGLE_H #include __BEGIN_DECLS /* Options passed to cplus_demangle (in 2nd parameter). */ #define DMGL_NO_OPTS 0 /* For readability... */ #define DMGL_PARAMS (1 << 0) /* Include function args */ #define DMGL_ANSI (1 << 1) /* Include const, volatile, etc */ #define DMGL_AUTO (1 << 8) #define DMGL_GNU (1 << 9) #define DMGL_LUCID (1 << 10) #define DMGL_ARM (1 << 11) /* If none of these are set, use 'current_demangling_style' as the default. */ #define DMGL_STYLE_MASK (DMGL_AUTO|DMGL_GNU|DMGL_LUCID|DMGL_ARM) /* Enumeration of possible demangling styles. Lucid and ARM styles are still kept logically distinct, even though they now both behave identically. The resulting style is actual the union of both. I.E. either style recognizes both "__pt__" and "__rf__" for operator "->", even though the first is lucid style and the second is ARM style. (FIXME?) */ extern enum demangling_styles { unknown_demangling = 0, auto_demangling = DMGL_AUTO, gnu_demangling = DMGL_GNU, lucid_demangling = DMGL_LUCID, arm_demangling = DMGL_ARM } current_demangling_style; /* Define string names for the various demangling styles. */ #define AUTO_DEMANGLING_STYLE_STRING "auto" #define GNU_DEMANGLING_STYLE_STRING "gnu" #define LUCID_DEMANGLING_STYLE_STRING "lucid" #define ARM_DEMANGLING_STYLE_STRING "arm" /* Some macros to test what demangling style is active. */ #define CURRENT_DEMANGLING_STYLE current_demangling_style #define AUTO_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_AUTO) #define GNU_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_GNU) #define LUCID_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_LUCID) #define ARM_DEMANGLING (CURRENT_DEMANGLING_STYLE & DMGL_ARM) extern char * cplus_demangle __P((__const char *mangled, int options)); /* Note: This sets global state. FIXME if you care about multi-threading. */ extern void set_cplus_marker_for_demangling __P((int ch)); __END_DECLS #endif /* _DEMANGLE_H */ ./usr/include/lastlog.h100644 1676 334 256 5545076623 13117 0ustar hjlisl#ifndef _LASTLOG_H #define _LASTLOG_H #include struct lastlog { long ll_time; char ll_line[UT_LINESIZE]; char ll_host[UT_HOSTSIZE]; }; #endif /* _LASTLOG_H */