mirror of
https://github.com/elliotnunn/supermario.git
synced 2024-11-29 20:49:19 +00:00
138 lines
3.2 KiB
C
138 lines
3.2 KiB
C
/*
|
|
File: UserGroup.h
|
|
|
|
Contains: xxx put contents here (or delete the whole line) xxx
|
|
|
|
Written by: xxx put name of writer here (or delete the whole line) xxx
|
|
|
|
Copyright: © 1989-1990 by Apple Computer, Inc., all rights reserved.
|
|
|
|
Change History (most recent first):
|
|
|
|
<3> 4/10/90 S To Support PPC Global Check Box.
|
|
<3> 4/10/90 S To Support PPC Global Check Box.
|
|
<2> 2/27/90 S To User Guest Record.
|
|
<1.0> 10/12/89 CVC Adding Access Control for the first time.
|
|
|
|
To Do:
|
|
*/
|
|
|
|
/*EASE$$$ READ ONLY COPY of file “UserGroup.h”
|
|
** 1.0 CVC 10/12/1989 Adding Access Control for the first time.
|
|
** END EASE MODIFICATION HISTORY */
|
|
#ifndef UserGroup_h
|
|
#define UserGroup_h
|
|
|
|
#define User 0
|
|
#define Group -1
|
|
#define nogroup 0
|
|
#define KeyUserID 1
|
|
#define MaxGroups 42
|
|
|
|
// flag constants
|
|
#define LoginEnabled 0x100
|
|
#define SuperUser 0x200
|
|
#define NoChangePwd 0x400
|
|
#define UInited 0x800
|
|
#define PhoneLogin 1
|
|
#define CallBack 2
|
|
#define GIconInited 1
|
|
#define GWindInited 2
|
|
#define Apple2 1
|
|
#define NoGuests 2
|
|
#define UGInited 4
|
|
#define IACGuestEnabled 16
|
|
#define IACGlobalEnabled 32
|
|
|
|
// B-tree User Authentication Record
|
|
struct UserAcRecord
|
|
{
|
|
char Password[8]; // user password
|
|
long UserID; // user ID
|
|
short UserFlags; // user flags: LoginEnabled, SuperUser, NoChangePwd, inited
|
|
Point IconLoc; // location of user icon
|
|
long Spare[4]; // extra space
|
|
short NumGroups; // number of groups the user belongs to
|
|
long Groups[MaxGroups]; // groups the user belongs to
|
|
};
|
|
typedef struct UserAcRecord UserAcRecord;
|
|
|
|
struct GroupIDRecord
|
|
{
|
|
long GroupID; // group ID
|
|
unsigned char Inited;
|
|
Point IconLoc;
|
|
Rect GroupWind;
|
|
short GroupView;
|
|
Point Scroll;
|
|
long Spare[2]; // extra space
|
|
};
|
|
typedef struct GroupIDRecord GroupIDRecord;
|
|
|
|
struct UGNameRecord
|
|
{
|
|
short UGFlag;
|
|
Str31 UGName;
|
|
long Spare[2];
|
|
};
|
|
typedef struct UGNameRecord UGNameRecord;
|
|
|
|
struct GroupMemberRecord
|
|
{
|
|
Boolean Inited;
|
|
Point IconLoc;
|
|
};
|
|
typedef struct GroupMemberRecord GroupMemberRecord;
|
|
|
|
struct ULInfoRecord
|
|
{
|
|
long UniqueID; // UG file's unique ID
|
|
short Version; // User List version
|
|
Str31 ServerName; // the server name
|
|
char ServerFlags; // Flags: Apple 2 mode, No Guest Users, inited
|
|
char AdPWLen; // length of Admin password
|
|
char AdminPW[8]; // the Admin password
|
|
long MaxID; // maximum ID used
|
|
Rect UGWind;
|
|
short View;
|
|
Point Scroll;
|
|
short Spare1;
|
|
long Spare2[13]; // extra space
|
|
};
|
|
typedef struct ULInfoRecord ULInfoRecord;
|
|
|
|
struct FolderInfoRecord
|
|
{
|
|
char ShortName[13]; // short name
|
|
int PDFT; // ProDOS File Type
|
|
int PDAT; // ProDOS Aux Type
|
|
int SubFolders; // number of folders in this folder
|
|
long CreatorID; // creator ID
|
|
long Access; // access control
|
|
long GroupID; // group ID
|
|
};
|
|
typedef struct FolderInfoRecord FolderInfoRecord;
|
|
|
|
struct PhoneRecord
|
|
{
|
|
short PhoneFlags; // 976 flags: Bit 0 login, Bit 1 call back
|
|
short RetryCount;
|
|
Str31 CallNum; // 976 Callback number
|
|
};
|
|
typedef struct PhoneRecord PhoneRecord;
|
|
|
|
union BTRecord
|
|
{
|
|
ULInfoRecord A;
|
|
UGNameRecord N;
|
|
GroupIDRecord G;
|
|
UserAcRecord U;
|
|
GroupMemberRecord M;
|
|
FolderInfoRecord F;
|
|
PhoneRecord T;
|
|
char B[256];
|
|
};
|
|
typedef union BTRecord BTRecord;
|
|
|
|
#endif
|