Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

0 lines
13 KiB

  1. /* File: afpDataStream.h Contains: Public Header file for the low level AppleShare Client API (AFP Protocol) Version: 3.8.5 */ #ifndef __AFPDATASTREAM__ #define __AFPDATASTREAM__ #ifndef __CONDITIONALMACROS__ #include <ConditionalMacros.h> #endif #ifndef __MIXEDMODE__ #include <MixedMode.h> #endif #ifndef __DEVICES__ #include <Devices.h> #endif #ifndef __APPLETALK__ //#include <AppleTalk.h> #endif #ifndef __OPENTRANSPORT__ #include <OpenTransport.h> #endif #ifndef __OPENTPTINTERNET__ //#include <OpenTptInternet.h> #endif #ifndef __OPENTPTAPPLETALK__ //#include <OpenTptAppleTalk.h> #endif #if PRAGMA_ONCE #pragma once #endif #ifdef __cplusplus extern "C" { #endif #if PRAGMA_IMPORT #pragma import on #endif #if PRAGMA_STRUCT_ALIGN #pragma options align=mac68k #elif PRAGMA_STRUCT_PACKPUSH #pragma pack(push, 2) #elif PRAGMA_STRUCT_PACK #pragma pack(2) #endif /* ------------------------------------------------------------------------- csCodes ------------------------------------------------------------------------- */ /* for PBControl calls*/ enum { afpGetAttnRoutine = 252, /* Get the default AFP Attention routine*/ dsOpenSession = 244, /* Open an AFP session to the server*/ dsGetStatus = 243, /* Send a GetSrvrInfo request to the server*/ dsSendRequest = 240, /* Send an AFP command to the server*/ dsCloseSession = 237, /* Close the specified session*/ dsCloseAll = 232, /* Close all sessions*/ dsIOCTL = 231, /* Make an IOCTL call to the session endpoint iff it is TCP/IP*/ /* these will be retired soon */ AFPInsSessMemBlk = 246, /* insert the SMB into the drviers Queue */ AFPRemSessMemBlk = 245 /* remove the SMB from the drviers Queue */ }; /* for PBStatus calls*/ enum { afpGetFSID = 127, /* returns the File System ID */ afpSVolInfo = 124, /* returns basic info about the server volume (address, servername, username...)*/ afpXGetVolInfo = 121, /* returns extended info about the volume (server time offset, volume grade...)*/ afpGetSMBSize = 118, /* returns the size of the session memory block required for a new session*/ dsGetXPortInfo = 236 /* returns information about the transport used for the given session*/ }; /* ------------------------------------------------------------------------- Data Stream Parameter Block ------------------------------------------------------------------------- */ typedef CALLBACK_API( void , DSIOCompletionProcPtr )(void *pb); /* WARNING: DSIOCompletionProcPtr uses register based parameters under classic 68k and cannot be written in a high-level language without the help of mixed mode or assembly glue. */ typedef REGISTER_UPP_TYPE(DSIOCompletionProcPtr) DSIOCompletionUPP; /* csCode = dsSendRequest*/ struct DSWritePB { UInt32 dsWriteDataOffset; /* <- specifies the write offset in the data*/ UInt32 dsWriteBufferSize; /* <- size of the data to be written*/ Byte * dsWriteBuffer; /* <- ptr to data to be written*/ }; typedef struct DSWritePB DSWritePB; /* csCode = dsGetStatus*/ struct DSGetStatusPB { OTAddress * dsGSSrvrAddress; /* <- OT Address of server to GetStatus() from (you also need to fill in the reply buffer & size)*/ const char * dsGSEpString; /* <- endpoint string for the connection (nil == default) */ }; typedef struct DSGetStatusPB DSGetStatusPB; /* NOTE: Make sure the reply buffer for the dsGetStatus call is at least 2048 bytes, it may be advisable to make it larger in the future. */ /* csCode = dsOpenSession*/ struct DSOpenPB { AttnRoutineUPP dsOSAttnRoutine; /* <- Custom attention routine (nil == default)*/ OTAddress * dsOSSrvrAddress; /* <- OT Address of server to open a session to*/ Ptr dsOSSessionBlock; /* <- ptr to the SMB; memory reserved for the session.*/ const char * dsOSEpString; /* <- endpoint string for the connection (nil == default) */ }; typedef struct DSOpenPB DSOpenP