Retired Document
Important: This sample code may not represent best practices for current development. The project may use deprecated symbols and illustrate technologies and techniques that are no longer recommended.
headers/AppleShareFileServerRegistry.h
/* |
File: AppleShareFileServerRegistry.h |
Contains: Registry records for file server. |
Version: Technology: AppleShare IP 6.0 |
Release: ASIP 6.0 SDK - Friday, July 10, 1998 11:16:11 AM |
Copyright: © 1995-1998 by Apple Computer, Inc., all rights reserved. |
Bugs?: For bug reports, consult the following page on |
the World Wide Web: |
http://developer.apple.com/bugreporter/ |
*/ |
#ifndef __APPLESHAREFILESERVERREGISTRY__ |
#define __APPLESHAREFILESERVERREGISTRY__ |
#ifndef __FILES__ |
#include <Files.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 |
typedef unsigned char Str42[43]; |
typedef unsigned char Str199[200]; |
enum { |
kFSCreatorSig = FOUR_CHAR_CODE('ipwf') /* Attribute Signature for FileServer Service object attributes*/ |
}; |
enum { |
/* Attribute Types for FileServer Service object each attribute */ |
kFSServerInfoType = FOUR_CHAR_CODE('srvr'), /* ServerInfo*/ |
kFSServerGreetingType = FOUR_CHAR_CODE('gret'), |
kFSCacheInfoType = FOUR_CHAR_CODE('cach'), |
kFSIdleUserInfoType = FOUR_CHAR_CODE('idle'), |
kFSAdminInfoType = FOUR_CHAR_CODE('admm'), |
kFSHTTPInfoType = FOUR_CHAR_CODE('http'), |
kFSHTTPFolderType = FOUR_CHAR_CODE('hfol'), |
kFSHTTPFileType = FOUR_CHAR_CODE('hfil'), |
kFSHTTPPluginType = FOUR_CHAR_CODE('hplg'), |
kFSMultiWebDirSig = FOUR_CHAR_CODE('webd'), /* Multi Domain signature */ |
kFSHTTPWebDirCountType = FOUR_CHAR_CODE('domC'), |
kFSHTTPWebDirType = FOUR_CHAR_CODE('0000'), |
kFSFTPInfoType = FOUR_CHAR_CODE('ftp '), |
kFSAFPInfoType = FOUR_CHAR_CODE('afp '), |
kFSSMBInfoType = FOUR_CHAR_CODE('smb '), |
kFSMimeType = FOUR_CHAR_CODE('mime'), |
kFSIPFilterType = FOUR_CHAR_CODE('filt'), |
kFSMaxConnection = FOUR_CHAR_CODE('maxc') /* max concurrent connection */ |
}; |
/* Service specific advanced options */ |
enum { |
kFSAFPTCPSig = FOUR_CHAR_CODE('afpt'), /* AFP over TCP port signature */ |
kFSSMBInfoSig = FOUR_CHAR_CODE('smb '), /* SMB over TCP port signature */ |
kFSHTTPInfoSig = FOUR_CHAR_CODE('http'), /* HTTP port signature */ |
kFSFTPInfoSig = FOUR_CHAR_CODE('ftp ') /* FTP port signature */ |
}; |
enum { |
kFSPortType = FOUR_CHAR_CODE('port'), /* port number (UInt16) for all services */ |
kFSSessionTimeout = FOUR_CHAR_CODE('ssto') /* session timeouts for all services (SInt32) */ |
}; |
enum { |
kFSTransferTimeout = FOUR_CHAR_CODE('trto'), /* transfer timeout for kFSFTPInfoSig (SInt32) */ |
kFSKeepAliveTimeout = FOUR_CHAR_CODE('kato'), /* keep alive timeout for kFSHTTPInfoSig (SInt32) */ |
kFSCGITimeout = FOUR_CHAR_CODE('cgto'), /* CGI timeout for kFSHTTPInfoSig (SInt32) */ |
kFSLogSize = FOUR_CHAR_CODE('logs') /* Log Size - for kFSHTTPInfoSig (UInt32) */ |
}; |
/* UAM information... */ |
enum { |
kFSUAMInfoSig = FOUR_CHAR_CODE('uam ') /* Signature */ |
}; |
enum { |
kFSNumUAMS = FOUR_CHAR_CODE('uamc'), /* Number of UAMs (UInt32) */ |
kFSUAMNames = FOUR_CHAR_CODE('uams') /* UAM names (buffer of packed pascal strings) */ |
}; |
/*----------------------------------------------------------*/ |
/* Server Preference - General Information */ |
/*----------------------------------------------------------*/ |
enum { |
kFSServerInfoVersion = 1 |
}; |
struct ServerInfo { |
SInt16 versionNumber; /* version number for this record */ |
SInt16 fileServerVersion; /* version# for file server */ |
SInt16 userActivityLimit; /* user activity limit in % */ |
SInt16 maxLogin; /* maximum client connections */ |
SInt16 maxGuestAccess; /* maximum number of guest and anonymous logins */ |
SInt16 shutdownMinutes; /* minutes until shutdown */ |
}; |
typedef struct ServerInfo ServerInfo; |
/*----------------------------------------------------------*/ |
/* Server Preference - connect info & Login Greeting */ |
/*----------------------------------------------------------*/ |
enum { |
kFSServerGreetingVersion = 1 |
}; |
struct ServerGreeting { |
SInt16 versionNumber; /* version number for this record */ |
Str199 greetingMsg; /* login greeting */ |
}; |
typedef struct ServerGreeting ServerGreeting; |
/*----------------------------------------------------------*/ |
/* Server Preference - Additional Cache Information */ |
/*----------------------------------------------------------*/ |
enum { |
kFSCacheInfoVersion = 1 |
}; |
struct CacheInfo { |
SInt16 versionNumber; /* version number for this record */ |
SInt32 cacheForOthers; /* memory to be reserved for other applications */ |
}; |
typedef struct CacheInfo CacheInfo; |
/*----------------------------------------------------------*/ |
/* Server Preference - Idle User Information */ |
/*----------------------------------------------------------*/ |
/* idleFlag bits. */ |
enum { |
kFSIdleDisconEnabledMask = 0x0001, /* allow to disconnect idle users */ |
kFSDisconExeptOpenFilesMask = 0x0002, /* if true, disconnect except open file users */ |
kFSDisconSuperUserMask = 0x0004, /* if true, isconnect idel super users */ |
kFSDisconNormalUserMask = 0x0008, /* if true, disconnect idle normal users */ |
kFSDisconGuestUserMask = 0x0010 /* if true, disconnect idle guest users */ |
}; |
enum { |
kFSIdleUserInfoVersion = 1 |
}; |
struct IdleUserInfo { |
SInt16 versionNumber; /* version number for this record */ |
SInt16 idleFlag; /* see above */ |
SInt16 idleMinute; /* max # of minute for idle users */ |
Str199 disconnectMsg; /* disconnect message */ |
}; |
typedef struct IdleUserInfo IdleUserInfo; |
/*----------------------------------------------------------*/ |
/* Server Preference - Serial Miscelleneous Information*/ |
/*----------------------------------------------------------*/ |
enum { |
kFSAdminInfoVersion = 1 |
}; |
struct AdminInfo { |
SInt16 versionNumber; /* version number for this record */ |
Str31 namePhone; /* name & phone */ |
Str31 organization; /* organization */ |
}; |
typedef struct AdminInfo AdminInfo; |
/*----------------------------------------------------------*/ |
/* Server Preference - HTTP Information */ |
/*----------------------------------------------------------*/ |
/* Flag bits. */ |
enum { |
kFSMultiDomainEnabled = 0x0001, /* allow multi-domain support */ |
kFSDirListingEnabled = 0x0002, /* allow directory listing */ |
kFSAutoShareWebFolder = 0x0004 /* if on, web folder share point at start up; server will clear */ |
}; |
enum { |
kFSHTTPServiceInfoVersion = 2 |
}; |
enum { |
kFSHTTPEnable = 1, /* enable HTTP*/ |
kFSHTTPLogEnable = 1, /* enable HTTP Log*/ |
kFSHTTPGuestEnable = 1 /* guest turned on for HTTP*/ |
}; |
struct HTTPServiceInfo { |
SInt16 versionNumber; /* version number for this record */ |
SInt16 enabled; /* Enable HTTP, 1-enable, 0-not enable */ |
SInt16 status; |
SInt16 logEnabled; /* Enable HTTP Log, 1-enable, 0-not enable */ |
SInt16 maxConnect; /* HTTP maximum client connections */ |
SInt16 guestEnabled; /* Whether guest allowed for HTTP */ |
SInt32 flag; /* new field for ASIP6 */ |
}; |
typedef struct HTTPServiceInfo HTTPServiceInfo; |
struct HTTPFolderRec { |
SInt16 vRefNum; /* HTML folder path vRefNum*/ |
Str27 volumeName; /* HTML folder path volume name*/ |
UInt32 volCreateDate; /* HTML folder path volume creation date*/ |
SInt32 dirID; /* HTML folder path DirID*/ |
}; |
typedef struct HTTPFolderRec HTTPFolderRec; |
struct HTTPFileRec { |
Str255 partialPath; /* partial path to HTML file starting from the Web folder */ |
}; |
typedef struct HTTPFileRec HTTPFileRec; |
enum { |
kFSPlugInEnable = 1, /* enable Plug-ins*/ |
kFSPlugInLoggingEnable = 1 /* enable Plug-in logging*/ |
}; |
struct HTTPPlugInsRec { |
SInt16 pluginEnable; /* Plug-ins, 1-enable, 0-not enable */ |
SInt16 loggingEnable; /* Plug-in logging, 1-enable, 0-not enable */ |
SInt32 memSize; /* Plug-in memory allocation */ |
FSSpec preProcessorSpec; /* Preprocessor plugin spec */ |
FSSpec postProcessorSpec; /* Postprocessor plugin spec */ |
FSSpec errorSpec; /* Error plugin spec */ |
}; |
typedef struct HTTPPlugInsRec HTTPPlugInsRec; |
struct VolSpec { |
Str32 vName; /* pascal string because FSSpec uses pascal string*/ |
UInt8 filler; |
SInt16 vRefNum; |
UInt32 vCreateDate; |
}; |
typedef struct VolSpec VolSpec; |
enum { |
kFSHTTPWebDirCountRecVersion = 1 |
}; |
struct HTTPWebDirCountRec { |
UInt16 count; /* How many HTTPWebDirRec there are */ |
SInt16 version; /* Version of the HTTPWebDirRec */ |
}; |
typedef struct HTTPWebDirCountRec HTTPWebDirCountRec; |
enum { |
kFSWebFolderEnabled = 1 |
}; |
enum { |
kFSAddressTypeDNS = 0, |
kFSAddressTypeIPAddress = 1 |
}; |
struct HTTPWebDirRec { |
UInt16 enabled; /* 1 == this web folder enabled, 0 == disabled */ |
SInt16 addressType; /* Indicates how to decode addressText: 0 == DNS name, 1 = IP Address (in ASCII) */ |
Str63 addressText; /* Domain name or IP address (in ASCII) of this web folder (pascal str) See addressType field */ |
UInt16 portNumber; /* Port number for this web folder's IP address (InetPort) */ |
VolSpec volSpec; /* Volume specifier */ |
SInt32 dirID; /* Dir ID of this web folder */ |
}; |
typedef struct HTTPWebDirRec HTTPWebDirRec; |
/*----------------------------------------------------------*/ |
/* Server Preference - FTP Information */ |
/*----------------------------------------------------------*/ |
enum { |
kFSFTPServiceInfoVersion = 1 |
}; |
struct FTPServiceInfo { |
SInt16 versionNumber; /* version number for this record */ |
SInt16 ftpEnable; /* Enable FTP, 1-enable, 0-not enable */ |
SInt16 status; |
SInt16 ftpAnonymousEnable; /* Enable Anonymous Login, 1-enable, 0-not enable */ |
}; |
typedef struct FTPServiceInfo FTPServiceInfo; |
/*----------------------------------------------------------*/ |
/* Server Preference - AFP Information */ |
/*----------------------------------------------------------*/ |
enum { |
kFSAFPServiceInfoVersion = 1 |
}; |
struct AFPServiceInfo { |
SInt16 versionNumber; /* version number for this record */ |
SInt16 afpOverTCPIPEnable; /* Enable AFP over TCPIP, 1-enable, 0-not enable */ |
SInt16 afpOverTCPIPStatus; |
SInt16 afpOverATalkEnable; /* Enable AFP over AppleTalk, 1-enable, 0-not enable */ |
}; |
typedef struct AFPServiceInfo AFPServiceInfo; |
/*----------------------------------------------------------*/ |
/* Server Preference - SMB Information */ |
/*----------------------------------------------------------*/ |
enum { |
kFSSMBServiceInfoVersion = 1 |
}; |
enum { |
kFSSMBMaxNetBIOSnameLength = 15, |
kFSSMBMaxWorkGroupLength = 15, |
kFSSMBMaxCommentLength = 43, |
kFSSMBWINSAddressLength = 62 |
}; |
struct SMBServiceInfo { |
SInt16 versionNumber; /* version number for this record */ |
SInt16 smbEnable; /* Enable SMB, 1-enable, 0-not enable */ |
SInt16 status; |
SInt16 guestEnabled; /* Whether guest allowed for SMB */ |
Str31 netBIOSname; /* Server name. Limited to 15 bytes */ |
Str31 workGroup; /* NETBIOS group name. Limited to 15 bytes */ |
Str63 comment; /* ASCII comment for the server. Limited to 43 bytes */ |
SInt16 winsEnabled; /* Enable WINS, 1-enable, 0-not enable */ |
Str63 winsAddress; /* WINS IP address */ |
}; |
typedef struct SMBServiceInfo SMBServiceInfo; |
/*----------------------------------------------------------------------*/ |
/* MIME type changes - Notify server SrvrMimeTypePrefs has changed */ |
/*----------------------------------------------------------------------*/ |
enum { |
kFSMimeTypeChangedVersion = 1 |
}; |
struct MimeTypeChanged { |
SInt16 version; /* version number for this record */ |
SInt32 counter; /* no meaning, just for notification */ |
}; |
typedef struct MimeTypeChanged MimeTypeChanged; |
/*----------------------------------------------------------*/ |
/* IPFilter Options - Advanced option for filtering IP */ |
/*----------------------------------------------------------*/ |
enum { |
kFSIPFilterAllow = 1 |
}; |
/* Structure of individual filters */ |
struct IPFilterStruct { |
SInt16 allow; /* 0 for disallow, 1 for allow */ |
UInt32 highIPBytes; |
UInt32 lowIPBytes; |
}; |
typedef struct IPFilterStruct IPFilterStruct; |
enum { |
kFSMaxIPFilters = 10 |
}; |
struct IPFilterInfo { |
SInt16 versionNumber; /* version number for this record */ |
SInt16 numFilters; /* numberOfIPFilters */ |
IPFilterStruct filters[10]; |
}; |
typedef struct IPFilterInfo IPFilterInfo; |
/*----------------------------------------------------------*/ |
/* Max connection information */ |
/*----------------------------------------------------------*/ |
/* |
tags for this record are type:kFSCreatorSig and attribute:kFSMacConnextion |
this value will be used if the max connection number encoded in serial number is 250 |
*/ |
enum { |
kFSServerMaxConnectionInfoVersion = 1 |
}; |
struct ServerMaxConnectionInfo { |
SInt16 version; |
SInt32 flag; /* reserved for future use */ |
SInt32 maxConnection; |
}; |
typedef struct ServerMaxConnectionInfo ServerMaxConnectionInfo; |
/* ------------------------------------------------------------------------------------------------- */ |
#if PRAGMA_STRUCT_ALIGN |
#pragma options align=reset |
#elif PRAGMA_STRUCT_PACKPUSH |
#pragma pack(pop) |
#elif PRAGMA_STRUCT_PACK |
#pragma pack() |
#endif |
#ifdef PRAGMA_IMPORT_OFF |
#pragma import off |
#elif PRAGMA_IMPORT |
#pragma import reset |
#endif |
#ifdef __cplusplus |
} |
#endif |
#endif /* __APPLESHAREFILESERVERREGISTRY__ */ |
Copyright © 2003 Apple Computer, Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2003-07-22