~ubuntu-branches/ubuntu/utopic/gridengine/utopic

« back to all changes in this revision

Viewing changes to source/libs/sgeobj/sge_centry.h

  • Committer: Bazaar Package Importer
  • Author(s): Mark Hymers
  • Date: 2008-06-25 22:36:13 UTC
  • Revision ID: james.westby@ubuntu.com-20080625223613-tvd9xlhuoct9kyhm
Tags: upstream-6.2~beta2
ImportĀ upstreamĀ versionĀ 6.2~beta2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef __SGE_CENTRY_H 
 
2
#define __SGE_CENTRY_H 
 
3
/*___INFO__MARK_BEGIN__*/
 
4
/*************************************************************************
 
5
 *
 
6
 *  The Contents of this file are made available subject to the terms of
 
7
 *  the Sun Industry Standards Source License Version 1.2
 
8
 *
 
9
 *  Sun Microsystems Inc., March, 2001
 
10
 *
 
11
 *
 
12
 *  Sun Industry Standards Source License Version 1.2
 
13
 *  =================================================
 
14
 *  The contents of this file are subject to the Sun Industry Standards
 
15
 *  Source License Version 1.2 (the "License"); You may not use this file
 
16
 *  except in compliance with the License. You may obtain a copy of the
 
17
 *  License at http://gridengine.sunsource.net/Gridengine_SISSL_license.html
 
18
 *
 
19
 *  Software provided under this License is provided on an "AS IS" basis,
 
20
 *  WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
 
21
 *  WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
 
22
 *  MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
 
23
 *  See the License for the specific provisions governing your rights and
 
24
 *  obligations concerning the Software.
 
25
 *
 
26
 *   The Initial Developer of the Original Code is: Sun Microsystems, Inc.
 
27
 *
 
28
 *   Copyright: 2001 by Sun Microsystems, Inc.
 
29
 *
 
30
 *   All Rights Reserved.
 
31
 *
 
32
 ************************************************************************/
 
33
/*___INFO__MARK_END__*/
 
34
 
 
35
#include "sge_centryL.h"
 
36
 
 
37
/* Mapping list for generating a complex out of a queue */
 
38
struct queue2cmplx {
 
39
   char *name;    /* name of the centry element, not the shortcut */
 
40
   int  field;    /* name of the element in the queue structure */
 
41
   int  cqfld;    /* cluster queue field */
 
42
   int  valfld;   /* value field in cluster queue sublist */
 
43
   int  type;     /* type of the element in the queue strcuture */
 
44
};
 
45
extern const int max_host_resources;
 
46
extern const struct queue2cmplx host_resource[]; 
 
47
extern const int max_queue_resources;
 
48
extern const struct queue2cmplx queue_resource[];
 
49
 
 
50
int 
 
51
get_rsrc(const char *name, bool queue, int *field, int *cqfld, int *valfld, int *type);
 
52
 
 
53
int
 
54
centry_fill_and_check(lListElem *this_elem, lList** answer_list, bool allow_empty_boolean,
 
55
                      bool allow_neg_consumable);
 
56
 
 
57
const char *
 
58
map_op2str(u_long32 op);
 
59
 
 
60
const char *
 
61
map_type2str(u_long32 type);
 
62
 
 
63
const char *
 
64
map_req2str(u_long32 op);
 
65
 
 
66
lListElem *
 
67
centry_create(lList **answer_list, const char *name);
 
68
 
 
69
bool
 
70
centry_is_referenced(const lListElem *centry, lList **answer_list,
 
71
                     const lList *master_cqueue_list,
 
72
                     const lList *master_exechost_list,
 
73
                     const lList *master_lirs_list);
 
74
 
 
75
bool
 
76
centry_print_resource_to_dstring(const lListElem *this_elem, 
 
77
                                 dstring *string);
 
78
 
 
79
lList **
 
80
centry_list_get_master_list(void);
 
81
 
 
82
lListElem *
 
83
centry_list_locate(const lList *this_list, 
 
84
                   const char *name);
 
85
 
 
86
bool
 
87
centry_elem_validate(lListElem *centry, lList *centry_list, lList **answer_list);
 
88
 
 
89
 
 
90
bool
 
91
centry_list_sort(lList *this_list);
 
92
 
 
93
bool
 
94
centry_list_init_double(lList *this_list);
 
95
 
 
96
int
 
97
centry_list_fill_request(lList *centry_list, lList **answer_list, lList *master_centry_list,
 
98
                         bool allow_non_requestable, bool allow_empty_boolean,
 
99
                         bool allow_neg_consumable);
 
100
 
 
101
bool
 
102
centry_list_are_queues_requestable(const lList *this_list);
 
103
 
 
104
const char *
 
105
centry_list_append_to_dstring(const lList *this_list, dstring *string); 
 
106
 
 
107
int
 
108
centry_list_append_to_string(lList *this_list, char *buff, u_long32 max_len);
 
109
 
 
110
lList *
 
111
centry_list_parse_from_string(lList *complex_attributes,
 
112
                              const char *str, bool check_value);
 
113
 
 
114
void
 
115
centry_list_remove_duplicates(lList *this_list);
 
116
 
 
117
double 
 
118
centry_urgency_contribution(int slots, const char *name, double value, 
 
119
                            const lListElem *centry);
 
120
 
 
121
bool
 
122
centry_list_do_all_exists(const lList *this_list, lList **answer_list,
 
123
                          const lList *centry_list);
 
124
 
 
125
bool
 
126
centry_list_is_correct(lList *this_list, lList **answer_list);
 
127
 
 
128
int ensure_attrib_available(lList **alpp, lListElem *ep, int nm);
 
129
 
 
130
bool
 
131
validate_load_formula(const char *formula, lList **answer_list, lList *centry_list, const char *name);
 
132
 
 
133
bool load_formula_is_centry_referenced(const char *load_formula, const lListElem *centry);
 
134
 
 
135
#endif /* __SGE_CENTRY_H */
 
136