|
|
1.1 ! root 1: ! 2: /* */ ! 3: /* ETthernet monitor definitions */ ! 4: /* */ ! 5: ! 6: #define NULL (0l) ! 7: ! 8: ! 9: #define MBLOCK 7 ! 10: #define EVENTCOUNT long ! 11: #define ENORMAL (EVENTCOUNT *)0 ! 12: #define EBADCALL (EVENTCOUNT *)1 ! 13: #define EINTERRUPTED (EVENTCOUNT *)2 ! 14: EVENTCOUNT *iawait(); ! 15: ! 16: #define SEMAPHORE struct semaphore ! 17: struct semaphore { ! 18: int serving; ! 19: int myturn; ! 20: }; ! 21: ! 22: #define OPEN_FILEDESC struct filedesc ! 23: struct filedesc { ! 24: int fd_dtl; ! 25: int fd_unit; ! 26: int fd_map; ! 27: }; ! 28: #define devof(fp) (fp->fd_unit) ! 29: #define newmapeclu(fp,opt) v_eiu_mapec(fp,opt) ! 30: ! 31: struct devicetable { ! 32: long (*dt_init)(); ! 33: long (*dt_queue)(); ! 34: long (*dt_read)(); ! 35: long (*dt_write)(); ! 36: long (*dt_func)(); ! 37: long (*dt_open)(); ! 38: long (*dt_close)(); ! 39: long (*dt_mapev)(); ! 40: }; ! 41:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.