+++ /dev/null
-/*
- * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
- *
- * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
- *
- * This file contains Original Code and/or Modifications of Original Code
- * as defined in and that are subject to the Apple Public Source License
- * Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. The rights granted to you under the License
- * may not be used to create, or enable the creation or redistribution of,
- * unlawful or unlicensed copies of an Apple operating system, or to
- * circumvent, violate, or enable the circumvention or violation of, any
- * terms of an Apple operating system software license agreement.
- *
- * Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this file.
- *
- * The Original Code and all software distributed under the License are
- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
- * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
- * Please see the License for the specific language governing rights and
- * limitations under the License.
- *
- * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
- */
-/*
- *
- * ORIGINS: 82
- *
- * (C) COPYRIGHT Apple Computer, Inc. 1992-1996
- * All Rights Reserved
- *
- */
-
-#ifndef _NETAT_ASP_H_
-#define _NETAT_ASP_H_
-#include <sys/appleapiopts.h>
-
-#ifdef __APPLE_API_OBSOLETE
-
-#define ASP_Version 0x100
-
-#define ASPFUNC_CloseSess 1
-#define ASPFUNC_Command 2
-#define ASPFUNC_GetStatus 3
-#define ASPFUNC_OpenSess 4
-#define ASPFUNC_Tickle 5
-#define ASPFUNC_Write 6
-#define ASPFUNC_WriteContinue 7
-#define ASPFUNC_Attention 8
-#define ASPFUNC_CmdReply 9
-
-#define ASPIOC 210 /* AT_MID_ASP */
-#define ASPIOC_ClientBind ((ASPIOC<<8) | 1)
-#define ASPIOC_CloseSession ((ASPIOC<<8) | 2)
-#define ASPIOC_GetLocEntity ((ASPIOC<<8) | 3)
-#define ASPIOC_GetRemEntity ((ASPIOC<<8) | 4)
-#define ASPIOC_GetSession ((ASPIOC<<8) | 5)
-#define ASPIOC_GetStatus ((ASPIOC<<8) | 6)
-#define ASPIOC_ListenerBind ((ASPIOC<<8) | 7)
-#define ASPIOC_OpenSession ((ASPIOC<<8) | 8)
-#define ASPIOC_StatusBlock ((ASPIOC<<8) | 9)
-#define ASPIOC_SetPid ((ASPIOC<<8) |10)
-#define ASPIOC_GetSessId ((ASPIOC<<8) |11)
-#define ASPIOC_EnableSelect ((ASPIOC<<8) |12) /* not needed */
-#define ASPIOC_Look ((ASPIOC<<8) |13)
-
-#define MOREDATA 1
-
-/* The following ASP error codes are defined in Inside AppleTalk: */
-
-#define ASPERR_NoError 0
-#define ASPERR_BadVersNum -1066
-#define ASPERR_BufTooSmall -1067
-#define ASPERR_NoMoreSessions -1068
-#define ASPERR_NoServers -1069
-#define ASPERR_ParamErr -1070
-#define ASPERR_ServerBusy -1071
-#define ASPERR_SessClosed -1072
-#define ASPERR_SizeErr -1073
-#define ASPERR_TooManyClients -1074
-#define ASPERR_NoAck -1075
-
-/* These ASP error codes were apparently defined later: */
-
-#define ASPERR_NoSuchDevice -1058
-#define ASPERR_BindErr -1059
-#define ASPERR_CmdReply -1060
-#define ASPERR_CmdRequest -1061
-#define ASPERR_SystemErr -1062
-#define ASPERR_ProtoErr -1063
-#define ASPERR_NoSuchEntity -1064
-#define ASPERR_RegisterErr -1065
-
-typedef struct {
- at_inet_t SLSEntityIdentifier;
- at_retry_t Retry;
- int StatusBufferSize;
-} asp_status_cmd_t;
-
-typedef struct {
- at_inet_t SLSEntityIdentifier;
- at_retry_t Retry;
- unsigned short TickleInterval;
- unsigned short SessionTimer;
-} asp_open_cmd_t;
-
-typedef struct {
- int Primitive;
- int CmdResult;
- unsigned short ReqRefNum;
- unsigned short Filler;
-} asp_cmdreply_req_t;
-
-typedef struct {
- int Primitive;
- int CmdResult;
-} asp_cmdreply_ind_t;
-
-typedef struct {
- int Primitive;
- unsigned short ReqRefNum;
- unsigned char ReqType;
- unsigned char Filler;
-} asp_command_ind_t;
-
-union asp_primitives {
- int Primitive;
- asp_cmdreply_ind_t CmdReplyInd;
- asp_cmdreply_req_t CmdReplyReq;
- asp_command_ind_t CommandInd;
-};
-
-#ifdef KERNEL_PRIVATE
-
-#define ASPSTATE_Close 0
-#define ASPSTATE_Idle 1
-#define ASPSTATE_WaitingForGetStatusRsp 2
-#define ASPSTATE_WaitingForOpenSessRsp 3
-#define ASPSTATE_WaitingForCommandRsp 4
-#define ASPSTATE_WaitingForWriteContinue 5
-#define ASPSTATE_WaitingForWriteRsp 6
-#define ASPSTATE_WaitingForWriteContinueRsp 7
-#define ASPSTATE_WaitingForCloseSessRsp 8
-#ifdef NOT_USED
-#define ASPSTATE_WaitingForCfgAck 9
-#endif
-
-/*
- * ATP state block
- */
-typedef struct {
- gref_t *atp_gref; /* gref must be the first entry */
- int pid; /* process id, must be the second entry */
- gbuf_t *atp_msgq; /* data msg, must be the third entry */
- unsigned char dflag; /* structure flag, must be the fourth entry */
- unsigned char filler[3];
-} atp_state_t;
-
-/*
- * ASP word
- */
-typedef struct {
- unsigned char func;
- unsigned char param1;
- unsigned short param2;
-} asp_word_t;
-
-struct asp_scb;
-typedef void (*asp_tmo_func)(struct asp_scb *);
-
-/*
- * ASP session control block
- */
-typedef struct asp_scb {
- gref_t *gref; /* read queue pointer, must be the first entry */
- int pid; /* process id, must be the second entry */
- atp_state_t *atp_state; /* atp state info, must be the third entry */
- unsigned char dflag; /* structure flag, must be the fourth entry */
- unsigned char state;
- unsigned char sess_id;
- unsigned char tmo_delta;
- unsigned char tmo_cnt;
- unsigned char rem_socket;
- unsigned char rem_node;
- unsigned char magic_num;
- unsigned short snd_seq_num;
- unsigned short rcv_seq_num;
- unsigned short filler;
- unsigned short tickle_tid;
- unsigned short tickle_interval;
- unsigned short session_timer;
- unsigned short attn_tid;
- unsigned char attn_flag;
- unsigned char req_flag;
- gbuf_t *req_msgq;
- unsigned short wrt_seq_num;
- unsigned char get_wait;
- unsigned char ioc_wait;
- at_retry_t cmd_retry;
- at_inet_t loc_addr;
- at_inet_t rem_addr;
- at_inet_t svc_addr;
- gbuf_t *sess_ioc;
- gbuf_t *stat_msg;
- asp_tmo_func tmo_func;
- struct asp_scb *next_tmo;
- struct asp_scb *prev_tmo;
- struct asp_scb *sess_scb;
- struct asp_scb *next_scb;
- struct asp_scb *prev_scb;
- unsigned char sel_on; /* not needed */
- unsigned char user;
- unsigned char rcv_cnt;
- unsigned char snd_stop;
- unsigned char reply_socket;
- unsigned char if_num;
- unsigned char pad[2];
- atlock_t lock;
- atlock_t delay_lock;
- atevent_t event;
- atevent_t delay_event;
-} asp_scb_t;
-
-
-int ASPgetmsg(gref_t *, strbuf_t *, strbuf_t *, gbuf_t **, int *, int *);
-int ASPputmsg(gref_t *, strbuf_t *, strbuf_t *, gbuf_t *, int , int *);
-void asp_init(void);
-void asp_ack_reply(gref_t *, gbuf_t *);
-void asp_nak_reply(gref_t *, gbuf_t *);
-int asp_wput(gref_t *, gbuf_t *);
-void asp_clock(void *);
-void asp_clock_locked(void *);
-int asp_open(gref_t *);
-int asp_close(gref_t *);
-
-
-#endif /* KERNEL_PRIVATE */
-#endif /* __APPLE_API_OBSOLETE */
-#endif /* _NETAT_ASP_H_ */