Annotation of src/usr.bin/rdist/os-openbsd.h, Revision 1.11
1.1 dm 1: /*
2: * Copyright (c) 1993 Michael A. Cooper
3: * Copyright (c) 1993 Regents of the University of California.
4: * All rights reserved.
5: *
6: * Redistribution and use in source and binary forms, with or without
7: * modification, are permitted provided that the following conditions
8: * are met:
9: * 1. Redistributions of source code must retain the above copyright
10: * notice, this list of conditions and the following disclaimer.
11: * 2. Redistributions in binary form must reproduce the above copyright
12: * notice, this list of conditions and the following disclaimer in the
13: * documentation and/or other materials provided with the distribution.
14: * 3. All advertising materials mentioning features or use of this software
15: * must display the following acknowledgement:
16: * This product includes software developed by the University of
17: * California, Berkeley and its contributors.
18: * 4. Neither the name of the University nor the names of its contributors
19: * may be used to endorse or promote products derived from this software
20: * without specific prior written permission.
21: *
22: * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
23: * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24: * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25: * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
26: * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27: * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
28: * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30: * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31: * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32: * SUCH DAMAGE.
33: */
34:
35: /*
1.11 ! millert 36: * $OpenBSD: os-openbsd.h,v 1.10 1998/06/26 21:21:16 millert Exp $
1.1 dm 37: */
38:
39: /*
40: * TEMPLATE os-*.h file
41: */
42:
43: /*
1.10 millert 44: * NOTE: OpenBSD uses 64-bit file size semantics, and so you
1.1 dm 45: * must be careful when using varargs-type functions
46: * like the *printf family when printing elements which
47: * might be 64-bits (such as stat->st_size from stat.h).
48: */
49:
50: /*
51: * Set process args to messages that show up when running ps(1)
52: *
1.10 millert 53: * OpenBSD has setproctitle() in libc so we don't want to use rdist's.
1.1 dm 54: */
1.10 millert 55: #define HAVE_SETPROCTITLE
1.1 dm 56:
57: /*
58: * Define the type of directory routines your system has.
59: */
60: #define DIR_TYPE DIR_DIRENT
61:
62: /*
63: * Determine what routines we have to get filesystem info.
64: */
65: #define FSI_TYPE FSI_GETFSSTAT
1.2 dm 66: #ifndef FSTYPENAME
1.10 millert 67: #define FSTYPENAME 1 /* use f_fstypename */
1.2 dm 68: #endif
1.1 dm 69:
70: /*
71: * Type of non-blocking I/O.
72: */
73: #define NBIO_TYPE NBIO_FCNTL
74:
75: /*
76: * Type of wait() function to use.
77: */
78: #define WAIT_TYPE WAIT_WAIT3
79:
80: /*
81: * Type of argument passed to wait() (above).
82: */
83: #define WAIT_ARG_TYPE int
84:
85: /*
86: * Select the type of executable file format.
87: */
1.11 ! millert 88: #ifndef EXE_TYPE
1.1 dm 89: #define EXE_TYPE EXE_AOUT
1.11 ! millert 90: #endif
1.1 dm 91:
92: /*
93: * Select the type of statfs() system call (if any).
94: */
95: #define STATFS_TYPE STATFS_BSD
96:
97: /*
98: * Type of arg functions we have.
99: */
100: #define ARG_TYPE ARG_STDARG
101:
102: /*
103: * UID argument type for chown()
104: */
105: typedef uid_t CHOWN_UID_T;
106:
107: /*
108: * GID argument type for chown()
109: */
110: typedef gid_t CHOWN_GID_T;
111:
112: /*
113: * Our types, usually these are uid_t and gid_t.
114: */
115: typedef uid_t UID_T; /* Must be signed */
116: typedef gid_t GID_T; /* Must be signed */
117:
118: /*
119: * Generic pointer, used by memcpy, malloc, etc. Usually char or void.
120: */
121: typedef void POINTER;
122:
123: /*
124: * Type of set file time function available
125: */
126: #define SETFTIME_TYPE SETFTIME_UTIMES
127:
128: /*
129: * Type of set line buffering function available
130: */
131: #define SETBUF_TYPE SETLINEBUF
132:
133: /*
134: * Things we have
135: */
136: #define HAVE_FCHOWN /* Have fchown() */
137: #define HAVE_FCHMOD /* Have fchmod() */
138: #define HAVE_SELECT /* Have select() */
139: #define HAVE_SAVED_IDS /* Have POSIX style saved [ug]id's */
140: #define POSIX_SIGNALS /* Have POSIX signals */
1.10 millert 141: #define HAVE_PATHS_H /* Have <paths.h> */
1.1 dm 142:
143: /*
144: * Things we need
145: */
146: #define NEED_UNISTD_H /* Need <unistd.h> */
1.5 downsj 147: #define NEED_STRING_H /* Need <string.h> */
1.1 dm 148:
149: /*
1.10 millert 150: * Use the system <paths.h>
1.8 millert 151: */
1.10 millert 152: #define PATHS_H <paths.h>