Annotation of XNU/bsd/netat/asp.h, revision 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.