1
#ifndef __SGE_USERSETL_H
2
#define __SGE_USERSETL_H
4
/*___INFO__MARK_BEGIN__*/
5
/*************************************************************************
7
* The Contents of this file are made available subject to the terms of
8
* the Sun Industry Standards Source License Version 1.2
10
* Sun Microsystems Inc., March, 2001
13
* Sun Industry Standards Source License Version 1.2
14
* =================================================
15
* The contents of this file are subject to the Sun Industry Standards
16
* Source License Version 1.2 (the "License"); You may not use this file
17
* except in compliance with the License. You may obtain a copy of the
18
* License at http://gridengine.sunsource.net/Gridengine_SISSL_license.html
20
* Software provided under this License is provided on an "AS IS" basis,
21
* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
22
* WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
23
* MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
24
* See the License for the specific provisions governing your rights and
25
* obligations concerning the Software.
27
* The Initial Developer of the Original Code is: Sun Microsystems, Inc.
29
* Copyright: 2001 by Sun Microsystems, Inc.
31
* All Rights Reserved.
33
************************************************************************/
34
/*___INFO__MARK_END__*/
36
#include "sge_boundaries.h"
44
#define US_DEPT (1<<1)
47
* This is the list type we use to hold the
48
* user set lists in the qmaster. These are also used as
52
/* special list element */
53
#define DEADLINE_USERS "deadlineusers"
54
#define DEFAULT_DEPARTMENT "defaultdepartment"
55
#define AR_USERS "arusers"
60
US_name = US_LOWERBOUND,
61
US_type, /* type of USERSET encoded as bitfield */
62
US_fshare, /* 960703 svd - SGEEE functional share */
63
US_oticket, /* SGEEE override tickets */
64
US_job_cnt, /* SGEEE job count (internal to schedd) */
65
US_pending_job_cnt, /* SGEEE job count (internal to schedd) */
67
US_consider_with_categories /* true, if userset plays role with categories */
72
JGDI_ROOT_OBJ(UserSet, SGE_USERSET_LIST, ADD | MODIFY | DELETE | GET | GET_LIST)
73
JGDI_EVENT_OBJ(ADD(sgeE_USERSET_ADD) | MODIFY(sgeE_USERSET_MOD) | DELETE(sgeE_USERSET_DEL) | GET_LIST(sgeE_USERSET_LIST))
74
SGE_STRING(US_name, CULL_PRIMARY_KEY | CULL_HASH | CULL_UNIQUE | CULL_SPOOL | CULL_SUBLIST | CULL_JGDI_CONF) /* configured name spooled */
75
SGE_ULONG_D(US_type, CULL_DEFAULT | CULL_SPOOL | CULL_JGDI_CONF, 1) /* configured type spooled */
76
SGE_ULONG(US_fshare, CULL_DEFAULT | CULL_SPOOL | CULL_JGDI_CONF) /* configured share spooled */
77
SGE_ULONG(US_oticket, CULL_DEFAULT | CULL_SPOOL | CULL_JGDI_CONF) /* configured override tickets spooled */
78
SGE_ULONG(US_job_cnt, CULL_DEFAULT | CULL_JGDI_CONF) /* local to schedd */
79
SGE_ULONG(US_pending_job_cnt, CULL_DEFAULT | CULL_JGDI_HIDDEN) /* local to schedd */
80
SGE_LIST(US_entries, UE_Type, CULL_DEFAULT | CULL_SPOOL | CULL_JGDI_CONF) /* UE_Type */
81
SGE_BOOL(US_consider_with_categories, CULL_DEFAULT | CULL_JGDI_HIDDEN)
90
NAME("US_pending_job_cnt")
92
NAME("US_consider_with_categories")
95
#define USES sizeof(USEN)/sizeof(char*)
98
* an USERSET (US) is used to store
99
* a user or a group in an user set list (US)
100
* the flag field indicates whether name
101
* and id specifiy an user or a group
109
UE_name = UE_LOWERBOUND /* user or @group name */
113
JGDI_PRIMITIVE_OBJ(UE_name)
114
SGE_STRING(UE_name, CULL_PRIMARY_KEY | CULL_HASH | CULL_UNIQUE | CULL_SUBLIST)
121
#define UES sizeof(UEN)/sizeof(char*)
124
* this list is used by schedd to keep the number
125
* of running jobs per user/group efficiently
128
JC_name = JC_LOWERBOUND, /* user or group name */
129
JC_jobs /* number of running jobs */
133
SGE_STRING(JC_name, CULL_HASH | CULL_UNIQUE)
134
SGE_ULONG(JC_jobs, CULL_DEFAULT)
144
#define JCS sizeof(JCN)/sizeof(char*)
148
#endif /* __SGE_USERSETL_H */