Annotation of XNU/bsd/netat/asp.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
                      3:  *
                      4:  * @APPLE_LICENSE_HEADER_START@
                      5:  * 
                      6:  * The contents of this file constitute Original Code as defined in and
                      7:  * are subject to the Apple Public Source License Version 1.1 (the
                      8:  * "License").  You may not use this file except in compliance with the
                      9:  * License.  Please obtain a copy of the License at
                     10:  * http://www.apple.com/publicsource and read it before using this file.
                     11:  * 
                     12:  * This Original Code and all software distributed under the License are
                     13:  * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
                     14:  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
                     15:  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
                     16:  * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
                     17:  * License for the specific language governing rights and limitations
                     18:  * under the License.
                     19:  * 
                     20:  * @APPLE_LICENSE_HEADER_END@
                     21:  */
                     22: /*
                     23:  *
                     24:  * ORIGINS: 82
                     25:  *
                     26:  * (C) COPYRIGHT Apple Computer, Inc. 1992-1996
                     27:  * All Rights Reserved
                     28:  *
                     29:  */                                                                   
                     30: 
                     31: #ifndef _NETAT_ASP_H_
                     32: #define _NETAT_ASP_H_
                     33: 
                     34: #define ASP_Version           0x100
                     35: 
                     36: #define ASPFUNC_CloseSess     1
                     37: #define ASPFUNC_Command       2
                     38: #define ASPFUNC_GetStatus     3
                     39: #define ASPFUNC_OpenSess      4
                     40: #define ASPFUNC_Tickle        5
                     41: #define ASPFUNC_Write         6
                     42: #define ASPFUNC_WriteContinue 7
                     43: #define ASPFUNC_Attention     8
                     44: #define ASPFUNC_CmdReply      9
                     45: 
                     46: #define ASPIOC               210 /* AT_MID_ASP */
                     47: #define ASPIOC_ClientBind    ((ASPIOC<<8) | 1)
                     48: #define ASPIOC_CloseSession  ((ASPIOC<<8) | 2)
                     49: #define ASPIOC_GetLocEntity  ((ASPIOC<<8) | 3)
                     50: #define ASPIOC_GetRemEntity  ((ASPIOC<<8) | 4)
                     51: #define ASPIOC_GetSession    ((ASPIOC<<8) | 5)
                     52: #define ASPIOC_GetStatus     ((ASPIOC<<8) | 6)
                     53: #define ASPIOC_ListenerBind  ((ASPIOC<<8) | 7)
                     54: #define ASPIOC_OpenSession   ((ASPIOC<<8) | 8)
                     55: #define ASPIOC_StatusBlock   ((ASPIOC<<8) | 9)
                     56: #define ASPIOC_SetPid        ((ASPIOC<<8) |10)
                     57: #define ASPIOC_GetSessId     ((ASPIOC<<8) |11)
                     58: #define ASPIOC_EnableSelect  ((ASPIOC<<8) |12) /* not needed */
                     59: #define ASPIOC_Look          ((ASPIOC<<8) |13)
                     60: 
                     61: #define MOREDATA 1
                     62: 
                     63: /* The following ASP error codes are defined in Inside AppleTalk: */
                     64: 
                     65: #define ASPERR_NoError         0
                     66: #define ASPERR_BadVersNum      -1066
                     67: #define ASPERR_BufTooSmall     -1067
                     68: #define ASPERR_NoMoreSessions  -1068
                     69: #define ASPERR_NoServers       -1069
                     70: #define ASPERR_ParamErr        -1070
                     71: #define ASPERR_ServerBusy      -1071
                     72: #define ASPERR_SessClosed      -1072
                     73: #define ASPERR_SizeErr         -1073
                     74: #define ASPERR_TooManyClients  -1074
                     75: #define ASPERR_NoAck           -1075
                     76: 
                     77: /* These ASP error codes were apparently defined later: */
                     78: 
                     79: #define ASPERR_NoSuchDevice    -1058
                     80: #define ASPERR_BindErr         -1059
                     81: #define ASPERR_CmdReply        -1060
                     82: #define ASPERR_CmdRequest      -1061
                     83: #define ASPERR_SystemErr       -1062
                     84: #define ASPERR_ProtoErr        -1063
                     85: #define ASPERR_NoSuchEntity    -1064
                     86: #define ASPERR_RegisterErr     -1065
                     87: 
                     88: typedef struct {
                     89:        at_inet_t SLSEntityIdentifier;
                     90:        at_retry_t Retry;
                     91:        int StatusBufferSize;
                     92: } asp_status_cmd_t;
                     93: 
                     94: typedef struct {
                     95:        at_inet_t SLSEntityIdentifier;
                     96:        at_retry_t Retry;
                     97:        unsigned short TickleInterval;
                     98:        unsigned short SessionTimer;
                     99: } asp_open_cmd_t;
                    100: 
                    101: typedef struct {
                    102:        int Primitive;
                    103:        int CmdResult;
                    104:        unsigned short ReqRefNum;
                    105:        unsigned short Filler;
                    106: } asp_cmdreply_req_t;
                    107: 
                    108: typedef struct {
                    109:        int Primitive;
                    110:        int CmdResult;
                    111: } asp_cmdreply_ind_t;
                    112: 
                    113: typedef struct {
                    114:        int Primitive;
                    115:        unsigned short ReqRefNum;
                    116:        unsigned char ReqType;
                    117:        unsigned char Filler;
                    118: } asp_command_ind_t;
                    119: 
                    120: union asp_primitives {
                    121:        int Primitive;
                    122:        asp_cmdreply_ind_t CmdReplyInd;
                    123:        asp_cmdreply_req_t CmdReplyReq;
                    124:        asp_command_ind_t CommandInd;
                    125: };
                    126: 
                    127: #ifdef KERNEL
                    128: 
                    129: #define ASPSTATE_Close                      0
                    130: #define ASPSTATE_Idle                       1
                    131: #define ASPSTATE_WaitingForGetStatusRsp     2
                    132: #define ASPSTATE_WaitingForOpenSessRsp      3
                    133: #define ASPSTATE_WaitingForCommandRsp       4
                    134: #define ASPSTATE_WaitingForWriteContinue    5
                    135: #define ASPSTATE_WaitingForWriteRsp         6
                    136: #define ASPSTATE_WaitingForWriteContinueRsp 7
                    137: #define ASPSTATE_WaitingForCloseSessRsp     8
                    138: #ifdef NOT_USED
                    139: #define ASPSTATE_WaitingForCfgAck           9
                    140: #endif
                    141: 
                    142: /*
                    143:  * ATP state block
                    144:  */
                    145: typedef struct {
                    146:        gref_t *atp_gref; /* gref must be the first entry */
                    147:        int pid; /* process id, must be the second entry */
                    148:        gbuf_t *atp_msgq; /* data msg, must be the third entry */
                    149:        unsigned char dflag; /* structure flag, must be the fourth entry */
                    150:        unsigned char filler[3];
                    151: } atp_state_t;
                    152: 
                    153: /*
                    154:  * ASP word
                    155:  */
                    156: typedef struct {
                    157:        unsigned char  func;
                    158:        unsigned char  param1;
                    159:        unsigned short param2;
                    160: } asp_word_t;
                    161: 
                    162: /*
                    163:  * ASP session control block
                    164:  */
                    165: typedef struct asp_scb {
                    166:        gref_t *gref; /* read queue pointer, must be the first entry */
                    167:        int pid; /* process id, must be the second entry */
                    168:        atp_state_t *atp_state; /* atp state info, must be the third entry */
                    169:        unsigned char  dflag; /* structure flag, must be the fourth entry */
                    170:        unsigned char  state;
                    171:        unsigned char  sess_id;
                    172:        unsigned char  tmo_delta;
                    173:        unsigned char  tmo_cnt;
                    174:        unsigned char  rem_socket;
                    175:        unsigned char  rem_node;
                    176:        unsigned char  magic_num;
                    177:        unsigned short snd_seq_num;
                    178:        unsigned short rcv_seq_num;
                    179:        unsigned short filler;
                    180:        unsigned short tickle_tid;
                    181:        unsigned short tickle_interval;
                    182:        unsigned short session_timer;
                    183:        unsigned short attn_tid;
                    184:        unsigned char  attn_flag;
                    185:        unsigned char  req_flag;
                    186:        gbuf_t *req_msgq;
                    187:        unsigned short wrt_seq_num;
                    188:        unsigned char get_wait;
                    189:        unsigned char ioc_wait;
                    190:        at_retry_t cmd_retry;
                    191:        at_inet_t loc_addr;
                    192:        at_inet_t rem_addr;
                    193:        at_inet_t svc_addr;
                    194:        gbuf_t *sess_ioc;
                    195:        gbuf_t *stat_msg;
                    196:        void (*tmo_func)();
                    197:        struct asp_scb *next_tmo;
                    198:        struct asp_scb *prev_tmo;
                    199:        struct asp_scb *sess_scb;
                    200:        struct asp_scb *next_scb;
                    201:        struct asp_scb *prev_scb;
                    202:        unsigned char sel_on;           /* not needed */
                    203:        unsigned char user;
                    204:        unsigned char rcv_cnt;
                    205:        unsigned char snd_stop;
                    206:        unsigned char reply_socket;
                    207:        unsigned char if_num;
                    208:        unsigned char pad[2];
                    209:        atlock_t lock;
                    210:        atlock_t delay_lock;
                    211:        atevent_t event;
                    212:        atevent_t delay_event;
                    213: } asp_scb_t;
                    214: 
                    215: #endif /* KERNEL */
                    216: #endif /* _NETAT_ASP_H_ */

unix.superglobalmegacorp.com

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