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