|
|
1.1 ! root 1: /* ! 2: * @(#)psreg.h 7.1 (Berkeley) 5/21/88 ! 3: */ ! 4: ! 5: #ifndef _PSREG_ ! 6: #define _PSREG_ ! 7: /* ! 8: * PS300 definitions. ! 9: */ ! 10: #ifndef KERNEL ! 11: #include <sys/ioctl.h> ! 12: #else ! 13: #include "../h/ioctl.h" ! 14: #endif ! 15: ! 16: struct pslookup { ! 17: int pl_len; /* length of name string */ ! 18: char *pl_name; /* address of name string */ ! 19: u_long pl_addr; /* symbol's address */ ! 20: }; ! 21: ! 22: /* ! 23: * Maximum string which may be supplied for lookup. ! 24: */ ! 25: #define PS_MAXNAMELEN 256 /* must be <= PSMAXDMA */ ! 26: ! 27: /* ! 28: * When doing physical i/o, one may specify the address ! 29: * and whether or not refresh sync should is required with ! 30: * a null iovec descriptor (iov_len = 0). ! 31: */ ! 32: #define PSIO_SYNC 1 /* do physical write w/ refresh sync */ ! 33: ! 34: /* ! 35: * Ioctl requests. ! 36: */ ! 37: #define PSIOGETERROR _IOR('p', 0, int) /* get last error */ ! 38: #define PSIOLOOKUP _IOWR('p', 1, struct pslookup) /* do name lookup */ ! 39: #define PSIORWLOGICAL _IOWR('p', 2, int) /* set i/o mode */ ! 40: ! 41: /* ! 42: * Error codes returned by PSIOGETERROR are either ! 43: * returned by the PS300 or, from the list below, ! 44: * generated by the device driver. ! 45: */ ! 46: #define PSERROR_DIOTIMO 1 /* timeout during dioread/diowrite */ ! 47: #define PSERROR_INVALBC 2 /* invalid byte count for read/write */ ! 48: #define PSERROR_BADADDR 3 /* invalid address for read/write */ ! 49: #define PSERROR_BADCMD 4 /* invalid command in ikstart */ ! 50: #define PSERROR_NAMETIMO 5 /* timeout during nameaddr dioread */ ! 51: #define PSERROR_CMDTIMO 6 /* operation timed out */ ! 52: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.