skyrope-mit-merge-hell-20040226
[openafs.git] / src / WINNT / afsusrmgr / usr_prop.h
1 /*
2  * Copyright 2000, International Business Machines Corporation and others.
3  * All Rights Reserved.
4  * 
5  * This software has been released under the terms of the IBM Public
6  * License.  For details, see the LICENSE file in the top-level source
7  * directory or online at http://www.openafs.org/dl/license10.html
8  */
9
10 #ifndef USR_PROP_H
11 #define USR_PROP_H
12
13
14 /*
15  * CONFIGURATION ______________________________________________________________
16  *
17  */
18
19 #define csecTICKETLIFETIME_DEFAULT  (csec1HOUR * 25L)
20 #define csecTICKETLIFETIME_MAX      (csec1HOUR * 720L)
21
22 #define cGROUPQUOTA_MIN          1
23 #define cGROUPQUOTA_DEFAULT     10
24 #define cGROUPQUOTA_MAX       9999
25 #define cGROUPQUOTA_INFINITE     0
26
27
28 /*
29  * DEFINITIONS ________________________________________________________________
30  *
31  */
32
33 typedef enum
34    {
35    uptANY = -1,
36    uptGENERAL,
37    uptMEMBERSHIP,
38    uptADVANCED
39    } USERPROPTAB;
40
41 #define nUSERPROPTAB_MAX  4
42
43 typedef struct
44    {
45    LPASIDLIST pUserList;        // NULL if creating new user
46    BOOL fDeleteMeOnClose;       // TRUE to delete structure when done
47    BOOL fShowModal;     // TRUE to block while showing
48    HWND hParent;
49    BOOL fMachine;       // TRUE to show machine pages instead
50
51    BOOL fApplyGeneral;  // TRUE to apply these fields:
52    BOOL fCanChangePw;
53    BOOL fCanChangePw_Mixed;
54    BOOL fCanReusePw;
55    BOOL fCanReusePw_Mixed;
56    BOOL fExpires;
57    BOOL fExpires_Mixed;
58    SYSTEMTIME stExpires;
59    LONG cdayPwExpires;
60    BOOL fPwExpires_Mixed;
61    LONG cFailLock;
62    BOOL fFailLock_Mixed;
63    LONG csecFailLock;
64
65    BOOL fApplyAdvanced; // TRUE to apply these fields:
66    BOOL fCreateKAS;
67    BOOL fCreatePTS;
68    BOOL fSeal;
69    BOOL fSeal_Mixed;
70    BOOL fAdmin;
71    BOOL fAdmin_Mixed;
72    BOOL fGrantTickets;
73    BOOL fGrantTickets_Mixed;
74    ULONG csecLifetime;
75    LONG cGroupQuota;
76    BOOL fGroupQuota_Mixed;
77    ACCOUNTACCESS aaStatus;
78    BOOL fStatus_Mixed;
79    ACCOUNTACCESS aaOwned;
80    BOOL fOwned_Mixed;
81    ACCOUNTACCESS aaMember;
82    BOOL fMember_Mixed;
83
84    LPASIDLIST pGroupsMember;
85    LPASIDLIST pGroupsOwner;
86    } USERPROPINFO, *LPUSERPROPINFO;
87
88
89 /*
90  * PROTOTYPES _________________________________________________________________
91  *
92  */
93
94 void User_ShowProperties (LPASIDLIST pAsidList, USERPROPTAB uptTarget = uptANY);
95 void User_ShowProperties (LPUSERPROPINFO lpp, USERPROPTAB uptTarget = uptANY);
96 void User_FreeProperties (LPUSERPROPINFO lpp);
97
98
99 #endif
100