irods  4.2.8
About: iRODS (the integrated Rule Oriented Data System) is a distributed data-management system for creating data grids, digital libraries, persistent archives, and real-time data systems.
  Fossies Dox: irods-4.2.8.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

rodsUser.h
Go to the documentation of this file.
1 
4 /* rodsUser.h - common header file for rods user info
5  */
6 
7 
8 
9 #ifndef RODS_USER_H__
10 #define RODS_USER_H__
11 
12 #include "rodsDef.h"
13 
14 
15 
16 /* definition for authScheme of authInfo_t */
17 
18 #define PASSWORD 0
19 #define GSI 1
20 
21 #define PASSWORD_AUTH_KEYWD "PASSWORD"
22 #define GSI_AUTH_KEYWD "GSI"
23 
24 /* env variable for overwriting clientUser */
25 #define CLIENT_USER_NAME_KEYWD "clientUserName"
26 #define CLIENT_RODS_ZONE_KEYWD "clientRodsZone"
27 
28 /* definition for authFlag in authInfo_t */
29 /* REMOTE or LOCAL refers to the Zone */
30 /* priv or not indicates whether the user is iRODS Admin: privileged */
31 #define NO_USER_AUTH 0 /* not authenticated yet */
32 #define PUBLIC_USER_AUTH 1 /* not authenticated yet */
33 #define REMOTE_USER_AUTH 2 /* authenticated as remote user */
34 #define LOCAL_USER_AUTH 3 /* authenticated as local user */
35 #define REMOTE_PRIV_USER_AUTH 4 /* auth as a remote priv user */
36 #define LOCAL_PRIV_USER_AUTH 5 /* auth as local priv user */
37 
38 #define XMSG_SVR_ONLY 0x4000 /* execute only xmsgServer only */
39 #define XMSG_SVR_ALSO 0x8000 /* execute on xmsgServer server also
40 * in addition to agent server */
41 typedef struct {
42  char authScheme[NAME_LEN]; /* Authentication scheme */
43  int authFlag; /* the status of authentication */
44  int flag;
45  int ppid; /* session ppid */
46  char host[NAME_LEN]; /* session host */
47  char authStr[NAME_LEN]; /* for gsi, the dn */
48 } authInfo_t;
49 
50 typedef struct {
51  char userInfo[NAME_LEN];
52  char userComments[NAME_LEN];
53  char userCreate[TIME_LEN];
54  char userModify[TIME_LEN];
56 
57 /* definition for flag in authInfo_t */
58 #define AUTH_IN_FILE 0x1 /* the authStr is in a file */
59 
60 /* definition for privFlag of userInfo_t */
61 
62 #define REG_USER 0 /* regular user */
63 #define LOC_PRIV_USER 1 /* local zone privileged user */
64 #define REM_PRIV_USER 2 /* remote zone privileged user */
65 
66 typedef struct {
67  char userName[NAME_LEN];
68  char rodsZone[NAME_LEN];
69  char userType[NAME_LEN];
70  int sysUid; /* the unix system uid */
71  authInfo_t authInfo;
72  userOtherInfo_t userOtherInfo;
73 } userInfo_t;
74 
75 
76 #endif /* RODS_USER_H__ */
userOtherInfo_t
Definition: rodsUser.h:49
userInfo_t
Definition: rodsUser.h:65
TIME_LEN
#define TIME_LEN
Definition: rodsDef.h:54
rodsDef.h
authInfo_t
Definition: rodsUser.h:40
generate_iadmin_commands_for_41_to_42_upgrade.host
host
Definition: generate_iadmin_commands_for_41_to_42_upgrade.py:23
NAME_LEN
#define NAME_LEN
Definition: rodsDef.h:55