| plan 9 kernel history: overview | file list | diff list |
1991/0607/port/portdat.h (diff list | history)
| 1991/0606/sys/src/9/port/portdat.h:9,14 – 1991/0607/sys/src/9/port/portdat.h:9,16 (short | long | prev | next) | ||
|
Add IOQ, KIOQ, OISMEM, OSHARED. In Orig, add freepg, allocpg. Remove Seg.pad.
rsc Fri Mar 4 12:44:25 2005 | ||
| 1991/0428 | typedef struct Envp Envp; typedef struct Envval Envval; typedef struct Etherpkt Etherpkt; | |
| 1991/0607 | typedef struct IOQ IOQ; typedef struct KIOQ KIOQ; | |
| 1991/0428 | typedef struct List List; typedef struct Mount Mount; typedef struct Mtab Mtab; | |
| 1991/0606/sys/src/9/port/portdat.h:199,204 – 1991/0607/sys/src/9/port/portdat.h:201,237 | ||
| 1991/0428 | #define ETHERMAXTU 1514 /* maximum transmit size */ #define ETHERHDRSIZE 14 /* size of an ethernet header */ | |
| 1991/0607 | /* * character based IO (mouse, keyboard, console screen) */ #define NQ 4096 struct IOQ { Lock; uchar buf[NQ]; uchar *in; uchar *out; int state; Rendez r; union{ void (*puts)(IOQ*, void*, int); /* output */ int (*putc)(IOQ*, int); /* input */ }; void *ptr; }; struct KIOQ { QLock; IOQ; int repeat; int c; int count; }; extern IOQ lineq; extern IOQ printq; extern IOQ mouseq; extern KIOQ kbdq; | |
| 1991/0428 | struct Mount { Ref; /* also used as a lock when playing lists */ | |
| 1991/0606/sys/src/9/port/portdat.h:229,234 – 1991/0607/sys/src/9/port/portdat.h:262,269 | ||
| 1991/0428 | #define OWRPERM 0x01 /* write permission */ #define OPURE 0x02 /* original data mustn't be written */ #define OCACHED 0x04 /* cached; don't discard on exit */ | |
| 1991/0607 | #define OISMEM 0x08 /* origin contains real memory */ #define OSHARED 0x10 /* origin does not copy on ref/wr */ | |
| 1991/0428 | struct Orig { | |
| 1991/0606/sys/src/9/port/portdat.h:247,252 – 1991/0607/sys/src/9/port/portdat.h:282,289 | ||
| 1991/0428 | Qid mqid; ulong minca; /* base of region in chan */ ulong maxca; /* end of region in chan */ | |
| 1991/0607 | void (*freepg)(Page*, int); /* how to free pages for this origin */ Page (*allocpg)(int, Orig*, ulong); | |
| 1991/0428 | }; struct Page | |
| 1991/0606/sys/src/9/port/portdat.h:298,304 – 1991/0607/sys/src/9/port/portdat.h:335,340 | ||
| 1991/0428 | ulong maxva; /* va of last pte */ PTE *mod; /* list of modified pte's */ | |
| 1991/0606 | ulong endseg; /* segments end */ | |
| 1991/0428 | }; /* | |