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.
|
|
/*
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
|