Annotation of coherent/f/usr/include/sys/ddi.h, revision 1.1.1.1

1.1       root        1: #ifndef        __SYS_DDI_H__
                      2: #define        __SYS_DDI_H__
                      3: 
                      4: /*
                      5:  * This header deals in removing macro definitions of functions in order to
                      6:  * enhance the portablity of user driver binaries by removing dependencies
                      7:  * on many system definitions such as structure lengths. Since many simple
                      8:  * functions are implemented as macros to remove the source-level dependency
                      9:  * while keeping performance, inclusion of the <sys/ddi.h> header indicates
                     10:  * that the user wishes to make trade off speed and time against binary
                     11:  * portability.
                     12:  *
                     13:  * Of course, many DDI/DKI functions exists to remove other dependences, such
                     14:  * as on the size and offsets of structure *members*, and on the names and
                     15:  * locations of data items. However, this header does not deal with defining
                     16:  * prototype or anything else related to these aspects of the DDI/DKI
                     17:  * specification, as they either involve changing source code to use these
                     18:  * new functions or are old functions (defined in the headers related to the
                     19:  * subsystem they were appropriated from) that have been elevated to DDI/DKI
                     20:  * preferred status.
                     21:  *
                     22:  * Clients of this header *should* be using the new DDI/DKI functions so as
                     23:  * to reduce dependency on system data structure layout, but here we deal
                     24:  * with the simple transformation of macros to function calls, by subsystem.
                     25:  */
                     26: 
                     27: 
                     28: 
                     29: #ifdef __SYS_STREAM_H__
                     30: 
                     31: /*
                     32:  * Our client is also a client of the STREAMS subsystem; undefine macros that
                     33:  * are functions under the DDI/DKI regime.
                     34:  */
                     35: 
                     36: #undef datamsg
                     37: #undef enableok
                     38: #undef noenable
                     39: #undef OTHERQ
                     40: #undef pcmsg
                     41: #undef putnext
                     42: #undef RD
                     43: #undef WR
                     44: 
                     45: #endif /* defined (__SYS_STREAM_H__) */
                     46: 
                     47: 
                     48: #ifdef __KERNEL_STRMLIB_H__
                     49: 
                     50: /*
                     51:  * Our client is also using some of the STREAMS extras
                     52:  */
                     53: 
                     54: #undef W
                     55: #undef R
                     56: 
                     57: #endif /* defined (__KERNEL_STRMLIB_H__) */
                     58: 
                     59: 
                     60: #ifdef __SYS_INLINE_H__
                     61: 
                     62: /*
                     63:  * Our client is also a client of the inline interrupt-level manipulation
                     64:  * functions.
                     65:  */
                     66: 
                     67: #undef splbase
                     68: #undef spltimeout
                     69: #undef spldisk
                     70: #undef splstr
                     71: #undef splhi
                     72: #undef splx
                     73: 
                     74: #undef splcmp
                     75: #undef splraise
                     76: 
                     77: #endif /* defined (__SYS_INLINE_H__) */
                     78: 
                     79: 
                     80: #ifdef __KERNEL_V_TYPES_H__
                     81: 
                     82: #undef btop
                     83: #undef btopr
                     84: #undef ptob
                     85: 
                     86: #undef etoimajor
                     87: #undef getemajor
                     88: #undef geteminor
                     89: #undef getmajor
                     90: #undef getminor
                     91: #undef itoemajor
                     92: #undef makedevice
                     93: 
                     94: #endif /* defined (__KERNEL_V_TYPES_H__) */
                     95: 
                     96: 
                     97: #ifdef __KERNEL_DDI_BASE_H__
                     98: 
                     99: #undef ddi_base_data
                    100: 
                    101: #endif /* defined (__KERNEL_DDI_BASE_H__) */
                    102: 
                    103: 
                    104: #ifdef __KERNEL_DDI_PROC_H__
                    105: 
                    106: #undef ddi_proc_data
                    107: 
                    108: #endif /* defined (__KERNEL_DDI_PROC_H__) */
                    109: 
                    110: 
                    111: #ifdef __KERNEL_DDI_CPU_H__
                    112: 
                    113: #undef ddi_cpu_data
                    114: 
                    115: #endif /* defined (__KERNEL_DDI_CPU_H__) */
                    116: 
                    117: 
                    118: #ifdef __KERNEL_DDI_GLOB_H__
                    119: 
                    120: #undef ddi_glob_data
                    121: 
                    122: #endif /* defined (__KERNEL_DDI_GLOB_H__) */
                    123: 
                    124: 
                    125: #ifdef __KERNEL_X86IO_H__
                    126: 
                    127: /*
                    128:  * Our client is also a client of the Intel 80x86 I/O instruction bindings.
                    129:  *
                    130:  * This stuff is normally defined as part of <sys/types.h> but we keep it
                    131:  * in a separate header (which <sys/types.h> can pull in if necessary).
                    132:  */
                    133: 
                    134: #undef insb
                    135: #undef insl
                    136: #undef insw
                    137: #undef outb
                    138: #undef outl
                    139: #undef outw
                    140: #undef repinsb
                    141: #undef repinsd
                    142: #undef repinsw
                    143: #undef repoutsb
                    144: #undef repoutsd
                    145: #undef repoutsw
                    146: 
                    147: #endif /* defined (__KERNEL_X86IO_H__) */
                    148: 
                    149: #endif /* ! defined (__SYS_DDI_H__) */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.