1 line
3.1 KiB
C
1 line
3.1 KiB
C
|
// ===========================================================================
// UAMKeychain.h <09> 1999 Microsoft Corp. All rights reserved.
// ===========================================================================
#include "Keychain.h"
#define UAM_KC_DESCRIPTION "\pMicrosoft<66> Windows Server"
typedef unsigned char Str8[9];
//
//The volume mount info structure must be aligned for 68K
//as the Mac AFP Client as of MacOS 9.0 is still 68K code!
//
#pragma options align=mac68k
typedef struct
{
SInt16 length; /* length of this record */
VolumeType media; /* type of media, always AppleShareMediaType */
SInt16 flags; /* bits for no messages, no reconnect, etc */
char nbpInterval; /* NBP interval parameter; 7 is a good choice */
char nbpCount; /* NBP count parameter; 5 is a good choice */
SInt16 uamType; /* User Authentication Method */
SInt16 zoneNameOffset; /* offset from start of record to zoneName */
SInt16 serverNameOffset; /* offset from start of record to serverName */
SInt16 volNameOffset; /* offset from start of record to volName */
SInt16 userNameOffset; /* offset from start of record to userName */
SInt16 userPasswordOffset; /* offset from start of record to userPassword */
SInt16 volPasswordOffset; /* offset from start of record to volPassword */
SInt16 extendedFlags; /* extended flags word */
SInt16 uamNameOffset; /* offset to a pascal UAM name string */
SInt16 alternateAddressOffset; /* offset to Alternate Addresses in tagged format */
Str32 zoneName; /* server's AppleTalk zone name */
char filler1; /* to word align volPassword */
Str32 serverName; /* server name */
char filler2; /* to word align volPassword */
Str27 volName; /* volume name */
Str31 userName; /* user name (zero length Pascal string for guest) */
Str8 userPassword; /* user password (zero length Pascal string if no user password) */
char filler3; /* to word align volPassword */
Str8 volPassword; /* volume password (zero length Pascal string if no volume password) */
char filler4; /* to word align uamNameOffset */
Str32 uamName; /* UAM name */
char filler5; /* to word align alternateAddress */
char alternateAddress[kVariableLengthArray]; /* AFPAlternateAddress */
}UAM_AFPXVolMountInfo, *PUAM_AFPXVolMountInfo;
#pragma options align=reset
//
//This macro helps us get offsets into the struct above.
//
#define uamx_member_offset(member) ((size_t) &((UAM_AFPXVolMountInfo *) 0)->member)
OSStatus UAM_KCDeleteItem(
StringPtr inUserName,
Str255 inServerName
);
void UAM_KCInitialize(UAMArgs* inUAMArgs);
Boolean UAM_KCAvailable(void);
OSStatus UAM_KCSavePassword(
StringPtr inUserName,
StringPtr inPassword,
Str255 inServerName
);
OSStatus UAM_KCFindAppleSharePassword(
StringPtr inUserName,
StringPtr inPassword,
StringPtr inServerName,
KCItemRef *outItemRef
);
OSStatus UAM_BuildAFPXVolMountInfo(
StringPtr inUserName,
StringPtr inPassword,
Str255 inServerName,
const Str32 inUAMString,
PUAM_AFPXVolMountInfo* outVolInfo
);
|