xref: /original-bsd/sys/sys/systm.h (revision 164fd0fc)
1 /*-
2  * Copyright (c) 1982, 1988, 1991 The Regents of the University of California.
3  * All rights reserved.
4  *
5  * %sccs.include.redist.c%
6  *
7  *	@(#)systm.h	7.14 (Berkeley) 05/05/91
8  */
9 
10 extern char *panicstr;		/* panic message */
11 extern char *version;		/* system version */
12 
13 extern int nblkdev;		/* number of entries in bdevsw */
14 extern int nchrdev;		/* number of entries in cdevsw */
15 extern int nswdev;		/* number of swap devices */
16 extern int nswap;		/* size of swap space */
17 
18 extern int selwait;		/* select timeout address */
19 
20 extern char kmapwnt;		/* kernel map want flag */
21 
22 extern u_char curpri;		/* priority of current process */
23 
24 extern int maxmem;		/* max memory per process */
25 extern int physmem;		/* physical memory */
26 
27 extern int intstack[];		/* interrupt stack */
28 
29 extern int icode[];		/* user init code */
30 extern int szicode;		/* size of icode */
31 
32 extern dev_t dumpdev;		/* dump device */
33 extern long dumplo;		/* offset into dumpdev */
34 
35 extern dev_t rootdev;		/* root device */
36 extern struct vnode *rootvp;	/* vnode equivalent to above */
37 
38 extern dev_t swapdev;		/* swapping device */
39 extern struct vnode *swapdev_vp;/* vnode equivalent to above */
40 
41 extern dev_t argdev;		/* argument lists device */
42 extern struct vnode *argdev_vp;	/* vnode equivalent to above */
43 
44 extern struct sysent {		/* system call table */
45 	int sy_narg;		/* number of arguments */
46 	int (*sy_call)();	/* implementing function */
47 } sysent[];
48 
49 #ifdef	KADB
50 extern char *bootesym;		/* end of symbol info from boot */
51 #endif
52 extern int boothowto;		/* reboot flags, from console subsystem */
53 
54 /* casts to keep lint happy */
55 #define	insque(q,p)	_insque((caddr_t)q,(caddr_t)p)
56 #define	remque(q)	_remque((caddr_t)q)
57 
58 /*
59  * General function prototypes.
60  */
61 int	enodev __P((void));
62 int	enoioctl __P((void));
63 int	enxio __P((void));
64 int	eopnotsupp __P((void));
65 int	nullop __P((void));
66 int	seltrue __P((dev_t dev, int which, struct proc *p));
67 
68 void	addlog __P((const char *, ...));
69 void	log __P((int, const char *, ...));
70 void	panic __P((char *));
71 void	printf __P((const char *, ...));
72 void	tablefull __P((char *));
73 void	ttyprintf __P((struct tty *, const char *, ...));
74 
75 int	bcmp __P((void *str1, void *str2, u_int len));
76 void	bcopy __P((void *from, void *to, u_int len));
77 void	bzero __P((void *buf, u_int len));
78 void	ovbcopy __P((void *from, void *to, u_int len));
79 int	strlen __P((char *string));
80 
81 int	copyin __P((void *udaddr, void *kaddr, u_int len));
82 int	copyinstr __P((void *udaddr, void *kaddr, u_int len, u_int *done));
83 int	copyout __P((void *kaddr, void *udaddr, u_int len));
84 int	copyoutstr __P((void *kaddr, void *udaddr, u_int len, u_int *done));
85 int	copystr __P((void *kfaddr, void *kdaddr, u_int len, u_int *done));
86 
87 int	fubyte __P((void *base));
88 #ifdef notdef
89 int	fuibyte __P((void *base));
90 #endif
91 int	fuiword __P((void *base));
92 int	fuword __P((void *base));
93 int	subyte __P((void *base, int byte));
94 int	suibyte __P((void *base, int byte));
95 int	suiword __P((void *base, int word));
96 int	suword __P((void *base, int word));
97 
98 int	ffs __P((long value));
99 int	locc __P((int mask, char *cp, unsigned size));
100 int	scanc __P((unsigned size, u_char *cp, u_char *table, int mask));
101 int	skpc __P((int mask, int size, char *cp));
102