Annotation of kernel/bsd/netat/h/localglue.h.pre0529, revision 1.1

1.1     ! root        1: /*
        !             2:  * localglue.h:
        !             3:  * Assorted local glue.
        !             4:  */
        !             5: 
        !             6: #ifndef LOCALGLUE_H
        !             7: #define        LOCALGLUE_H
        !             8: 
        !             9: #include <sys/errno.h>
        !            10: #include <sys/types.h>
        !            11: #include <sys/param.h>
        !            12: 
        !            13: 
        !            14: #define AT_ATP_LINK    111
        !            15: #define AT_ATP_UNLINK  222
        !            16: #define AT_ADSP_LINK   333
        !            17: #define AT_ADSP_UNLINK 444
        !            18: 
        !            19: typedef struct {
        !            20:        int  maxlen; /* max buffer length */
        !            21:        int  len;    /* length of data */
        !            22:        char *buf;   /* pointer to buffer */
        !            23: } strbuf_t;
        !            24: typedef struct {
        !            25:        int  ic_cmd;
        !            26:        int  ic_timout;
        !            27:        int  ic_len;
        !            28:        char *ic_dp;
        !            29: } ioccmd_t;
        !            30: typedef struct {
        !            31:        int  ioc_cmd;
        !            32:        void *ioc_cr;
        !            33:        int  ioc_id;
        !            34:        int  ioc_cnt;
        !            35:        int  ioc_error;
        !            36:        int  ioc_rval;
        !            37:        void    *ioc_private;
        !            38:        int  ioc_filler[4];
        !            39: } ioc_t;
        !            40: #ifndef ioc_count
        !            41: #define ioc_count ioc_cnt
        !            42: #endif
        !            43: #ifndef MOREDATA
        !            44: #define MOREDATA 1
        !            45: #endif
        !            46: 
        !            47: #ifdef _KERNEL
        !            48: #include <sys/systm.h>
        !            49: /* ### LD 4/28/97 tempo removed */
        !            50: #ifdef _AIX
        !            51: #include <sys/pri.h>
        !            52: #include <sys/intr.h>
        !            53: #include <sys/lockl.h>
        !            54: #include <net/spl.h>
        !            55: #else
        !            56: #include <sys/kernel.h>
        !            57: #include <sys/proc.h>
        !            58: #include <sys/filedesc.h>
        !            59: #include <sys/fcntl.h>
        !            60: #endif
        !            61: #include <sys/mbuf.h>
        !            62: 
        !            63: /*
        !            64:  * Rhapsody: we can't include stdlib.h (which contains atoi) in the
        !            65:  * kernel because it conflics with libkern.h for "random"
        !            66:  * so we use the inline definition of atoi here...
        !            67:  *
        !            68:  */
        !            69: #ifndef _AIX
        !            70: #define atoi(x) (int)((x)-'0') 
        !            71: #endif
        !            72: 
        !            73: #define AT_WR_OFFSET 38
        !            74: #ifndef EVENT_NULL
        !            75: #define EVENT_NULL   -1
        !            76: #define LOCK_HANDLER  2
        !            77: #endif
        !            78: typedef int atevent_t;
        !            79: /* ### LD 4/28/97 tempo removed */
        !            80: #ifdef _AIX
        !            81: typedef Simple_lock atlock_t;
        !            82: #define ATLOCKINIT(a)   simple_lock_init((void *)&a)
        !            83: #define ATDISABLE(l, a) (l = disable_lock(PL_IMP, (void *)&a))
        !            84: #define ATENABLE(l, a)  unlock_enable(l, (void *)&a)
        !            85: #define ATEVENTINIT(a)  (a = EVENT_NULL)
        !            86: #define DDP_OUTPUT(m) ddp_putmsg(0,m)
        !            87: #define StaticProc static
        !            88: #else
        !            89: /* ### LD 4/28/97 tempo for next */
        !            90: typedef simple_lock_t atlock_t;
        !            91: typedef int *atomic_p; 
        !            92: #define ATLOCKINIT(a)  (a = EVENT_NULL)
        !            93: #define ATDISABLE(l, a) (l = splnet())
        !            94: #define ATENABLE(l, a)  splx(l)
        !            95: #define ATEVENTINIT(a)  (a = EVENT_NULL)
        !            96: #define DDP_OUTPUT(m) ddp_putmsg(0,m)
        !            97: #define StaticProc static
        !            98: 
        !            99: #endif
        !           100: #ifdef NEXT
        !           101: /* 
        !           102:  * Rhapsody specific defines: Right now they're triggered
        !           103:  * by the NEXT define. Might want to change that latter
        !           104:  * ld 04/28/97
        !           105:  */
        !           106: 
        !           107: #define RHAPSODY 1
        !           108: /* HZ ticks definition used throughout AppleTalk */
        !           109: #define HZ hz
        !           110: 
        !           111: /* returned when the operation is not possible at this
        !           112:  * time (ie when starting up or shutting down.
        !           113:  * right now, uses ESHUTDOWN because ENOTREADY is not defined
        !           114:  * in Rhapsody. Need to find a better Error code ###LD
        !           115:  */
        !           116: #define ENOTREADY      ESHUTDOWN
        !           117: #define ENOMSG                 EOPNOTSUPP
        !           118: #define EPROTO                 EPROTOTYPE
        !           119: #define ENOSR          ENOBUFS
        !           120: 
        !           121: /* T_MPSAFE is used only in atp_open. I suspect it's a
        !           122:  * trick to accelerate local atp transactions.
        !           123:  */
        !           124: #define T_MPSAFE       0
        !           125: 
        !           126: #define INTERRUPTIBLE   1
        !           127: #define POLLIN                 0x0001
        !           128: #define POLLOUT        0x0002
        !           129: #define POLLPRI        0x0004
        !           130: #define POLLMSG        0x0080
        !           131: #define POLLSYNC       0x8000
        !           132: #define POLLMSG        0x0080
        !           133: 
        !           134: /*
        !           135:  * Define a new Data Type for file. it was DTYPE_OTHER for 
        !           136:  * AIX, for Rhapsody there is no such define so defines
        !           137:  * DTYPE_ATALK
        !           138:  */
        !           139: 
        !           140: #define DTYPE_ATALK -1
        !           141: 
        !           142: typedef unsigned char uchar;
        !           143: 
        !           144: #endif
        !           145: 
        !           146: #define MSG_DATA       0x00
        !           147: #define MSG_PROTO      0x01
        !           148: #define MSG_IOCTL      0x0e
        !           149: #define MSG_ERROR      0x8a
        !           150: #define MSG_HANGUP     0x89
        !           151: #define MSG_IOCACK     0x81
        !           152: #define MSG_IOCNAK     0x82
        !           153: #define MSG_CTL        0x0d
        !           154: #define PRI_LO         1
        !           155: #define PRI_MED        2
        !           156: #define PRI_HI         3
        !           157: 
        !           158: typedef struct mbuf gbuf_t;
        !           159: extern gbuf_t *gbuf_copym();
        !           160: extern gbuf_t *gbuf_dupb();
        !           161: extern gbuf_t *gbuf_dupm();
        !           162: extern void gbuf_freeb();
        !           163: extern void gbuf_freem();
        !           164: extern gbuf_t *gbuf_alloc();
        !           165: #define gbuf_prepend(m,len) M_PREPEND(m,len,M_DONTWAIT)
        !           166: #define gbuf_attach(buf,func,len,arg) m_clattach(buf,func,len,arg,M_DONTWAIT)
        !           167: #define gbuf_cont(m)   m->m_next
        !           168: #define gbuf_next(m)   m->m_nextpkt
        !           169: #define gbuf_rptr(m)   m->m_data
        !           170: #define gbuf_rinc(m,len)       {m->m_data += len; m->m_len -= len;}
        !           171: #define gbuf_rdec(m,len)       {m->m_data -= len; m->m_len += len;}
        !           172: #define gbuf_wptr(m)   (m->m_data + m->m_len)
        !           173: #define gbuf_winc(m,len)       (m->m_len += len)
        !           174: #define gbuf_wdec(m,len)       (m->m_len -= len)
        !           175: #define gbuf_wset(m,len)       (m->m_len = len)
        !           176: #define gbuf_type(m)   m->m_type
        !           177: #define gbuf_len(m)    m->m_len
        !           178: 
        !           179: typedef struct gref {
        !           180:        struct gref *next;
        !           181:        void *info;
        !           182:        gbuf_t *ichead;
        !           183:        gbuf_t *ictail;
        !           184:        gbuf_t *rdhead;
        !           185:        gbuf_t *rdtail;
        !           186:        unsigned char  proto;
        !           187:        unsigned char  errno;
        !           188:        unsigned short sevents;
        !           189:        int pid;
        !           190:        atlock_t lock;
        !           191:        atevent_t event;
        !           192:        atevent_t iocevent;
        !           193:        int (*writeable)();
        !           194:        int (*readable)();
        !           195:        /* for BSD 4.4 we need a selinfo structure for selrecord/selwakeup */
        !           196: #ifndef _AIX
        !           197:        struct selinfo si;
        !           198: #endif
        !           199: } gref_t;
        !           200: 
        !           201: #undef timeoutcf
        !           202: #undef timeout
        !           203: #undef untimeout
        !           204: #define        MAXATALKTIMERS          128
        !           205: 
        !           206: #else  /* _KERNEL */
        !           207: 
        !           208: /* Various device info */
        !           209: #define AT_DEF_ET_INTERFACE    "et0"
        !           210: #define NVRAM          "/etc/appletalk.nvram"
        !           211: #define NVRAMSIZE      256
        !           212: 
        !           213: #endif         /* _KERNEL */
        !           214: 
        !           215: #endif /* LOCALGLUE_H */

unix.superglobalmegacorp.com

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