|
|
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_ */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.