|
|
1.1 ! root 1: /* ! 2: * This file contains the entry points into the STREAMS system called by the ! 3: * Coherent kernel. In this file, they are all stubs, for use when other parts ! 4: * of the kernel have had STREAMS support enabled but you really don't want ! 5: * STREAMS. ! 6: */ ! 7: ! 8: #define _DDI_DKI 1 ! 9: #define _SYSV3 1 ! 10: ! 11: #include <common/ccompat.h> ! 12: #include <sys/inline.h> ! 13: #include <stddef.h> ! 14: ! 15: #define __KERNEL__ 2 ! 16: ! 17: #if __MSDOS__ ! 18: #include <sys/_con.h> ! 19: #else ! 20: #include <sys/con.h> ! 21: #endif ! 22: ! 23: #undef __KERNEL__ ! 24: ! 25: ! 26: #if __USE_PROTO__ ! 27: void (STREAMS_SCHEDULER) (void) ! 28: #else ! 29: void ! 30: STREAMS_SCHEDULER __ARGS (()) ! 31: #endif ! 32: { ! 33: } ! 34: ! 35: ! 36: /* ! 37: * Shut things down, in the right order. ! 38: */ ! 39: ! 40: #if __USE_PROTO__ ! 41: void (STREAMS_EXIT) (void) ! 42: #else ! 43: void ! 44: STREAMS_EXIT __ARGS (()) ! 45: #endif ! 46: { ! 47: } ! 48: ! 49: ! 50: /* ! 51: * Get an old Coherent "CON" entry. ! 52: */ ! 53: ! 54: #if __USE_PROTO__ ! 55: CON * (STREAMS_GETCON) (o_dev_t dev) ! 56: #else ! 57: CON * ! 58: STREAMS_GETCON __ARGS ((dev)) ! 59: o_dev_t dev; ! 60: #endif ! 61: { ! 62: return NULL; ! 63: } ! 64: ! 65: ! 66: /* ! 67: * Start things up, in the right order. If we can't proceed, panic. ! 68: */ ! 69: ! 70: #if __USE_PROTO__ ! 71: void (STREAMS_INIT) (void) ! 72: #else ! 73: void ! 74: STREAMS_INIT __ARGS (()) ! 75: #endif ! 76: { ! 77: } ! 78: ! 79: ! 80: /* ! 81: * Check STREAMS timeouts. ! 82: */ ! 83: ! 84: #if __USE_PROTO__ ! 85: void (STREAMS_TIMEOUT) (void) ! 86: #else ! 87: void ! 88: STREAMS_TIMEOUT __ARGS (()) ! 89: #endif ! 90: { ! 91: } ! 92: ! 93: ! 94: /* ! 95: * Set an interrupt mask. ! 96: */ ! 97: ! 98: #if __USE_PROTO__ ! 99: void (DDI_BASE_MASTER_MASK) (uchar_t mask) ! 100: #else ! 101: void ! 102: DDI_BASE_MASTER_MASK __ARGS ((mask)) ! 103: uchar_t mask; ! 104: #endif ! 105: { ! 106: outb (__PICM__, mask); ! 107: } ! 108: ! 109: #if __USE_PROTO__ ! 110: void (DDI_BASE_SLAVE_MASK) (uchar_t mask) ! 111: #else ! 112: void ! 113: DDI_BASE_SLAVE_MASK __ARGS ((mask)) ! 114: uchar_t mask; ! 115: #endif ! 116: { ! 117: outb (__SPICM__, mask); ! 118: } ! 119: ! 120: #if __USE_PROTO__ ! 121: void (__assert_fail2) (__CONST__ char * exp, __CONST__ char * info, ! 122: int lineno) ! 123: #else ! 124: void ! 125: __assert_fail2 __ARGS ((exp, info, lineno)) ! 126: __CONST__ char * exp; ! 127: __CONST__ char * info; ! 128: int lineno; ! 129: #endif ! 130: { ! 131: } ! 132: ! 133: #if __COHERENT__ ! 134: #include <sys/cmn_err.h> ! 135: ! 136: #if __USE_PROTO__ ! 137: void (cmn_err) (int level, char * format, ...) ! 138: #else ! 139: void ! 140: cmn_err __ARGS ((level, format)) ! 141: int level; ! 142: char * format; ! 143: #endif ! 144: { ! 145: switch(level) { ! 146: case CE_CONT: ! 147: printf("%r", & format); ! 148: break; ! 149: case CE_NOTE: ! 150: printf("NOTICE: %r\n", & format); ! 151: break; ! 152: case CE_WARN: ! 153: printf("WARNING: %r\n", & format); ! 154: break; ! 155: case CE_PANIC: ! 156: panic("%r", & format); ! 157: break; ! 158: } ! 159: } ! 160: #endif ! 161: ! 162: /* copyin() and copyout() */ ! 163: ! 164: #define TOUSER(usr,ker,n) kucopy ((caddr_t) ker, (caddr_t) usr, n) ! 165: #define FROMUSER(ker,usr,n) ukcopy ((caddr_t) usr, (caddr_t) ker, n) ! 166: ! 167: #if __USE_PROTO__ ! 168: int (copyin) (_VOID * userbuf, _VOID * driverbuf, size_t count) ! 169: #else ! 170: int ! 171: copyin __ARGS ((userbuf, driverbuf, count)) ! 172: _VOID * userbuf; ! 173: _VOID * driverbuf; ! 174: size_t count; ! 175: #endif ! 176: { ! 177: ASSERT (driverbuf != 0); ! 178: ! 179: return FROMUSER (driverbuf, userbuf, count) != count ? -1 : 0; ! 180: } ! 181: ! 182: #if __USE_PROTO__ ! 183: int (copyout) (_VOID * driverbuf, _VOID * userbuf, size_t count) ! 184: #else ! 185: int ! 186: copyout __ARGS ((driverbuf, userbuf, count)) ! 187: _VOID * driverbuf; ! 188: _VOID * userbuf; ! 189: size_t count; ! 190: #endif ! 191: { ! 192: ASSERT (driverbuf != NULL); ! 193: ! 194: return TOUSER (userbuf, driverbuf, count) != count ? -1 : 0; ! 195: } ! 196:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.