| plan 9 kernel history: overview | file list | diff list |
2000/1006/pc/pcmciamodem.c (diff list | history)
| pc/pcmciamodem.c on 1998/0221 | ||
| 1998/0221 | #include "u.h" #include "../port/lib.h" #include "mem.h" #include "dat.h" #include "fns.h" #include "io.h" #include "ureg.h" #include "../port/error.h" /* * PCMCIA modem. * By default, this will set it up with the port and irq of * COM2 unless a serialx=type=com line is found in plan9.ini. * The assumption is that a laptop with a pcmcia will have only * one com port. */ enum { Maxcard= 8, }; static char* modems[] = { "IBM 33.6 Data/Fax/Voice Modem", | |
| 1998/0918 | "CM-56G", /* Xircom CreditCard Modem 56 - GlobalACCESS */ | |
| 1998/0221 | "KeepInTouch", | |
| 1999/0312 | "CEM56", | |
| 1998/0221 | 0, }; void pcmciamodemlink(void) { ISAConf isa; | |
| 2000/1006 | int i, j, slot, com2used; | |
| 1998/0221 | i = 0; | |
| 2000/1006 | com2used = 0; for(j = 0; modems[j]; j++){ | |
| 1998/0221 | memset(&isa, 0, sizeof(isa)); /* look for a configuration line */ for(; i < Maxcard; i++){ if(isaconfig("serial", i, &isa)) if(cistrcmp(isa.type, "com") == 0) break; memset(&isa, 0, sizeof(isa)); } | |
| 2000/1006 | if (isa.irq == 0 && isa.port == 0) { if (com2used == 0) { /* default is COM2 */ isa.irq = 3; isa.port = 0x2F8; com2used++; } else | |
| 1998/0811 | break; } | |
| 2000/1006 | slot = pcmspecial(modems[j], &isa); if(slot >= 0){ print("%s in pcmcia slot %d port 0x%lux irq %lud\n", modems[j], slot, isa.port, isa.irq); } | |
| 1998/0221 | } } | |