source: devel/C/pbs_ifl.h @ 318

Last change on this file since 318 was 318, checked in by bas, 10 years ago

Updated all pbs files so we are in sync with the 2.4/2.5 features of torque

File size: 20.8 KB
Line 
1/*
2 * $Id: pbs_ifl.h 529 2010-04-07 11:55:45Z bas $
3 *
4*         Portable Batch System (PBS) Software License
5*
6* Copyright (c) 1999, MRJ Technology Solutions.
7* All rights reserved.
8*
9* Acknowledgment: The Portable Batch System Software was originally developed
10* as a joint project between the Numerical Aerospace Simulation (NAS) Systems
11* Division of NASA Ames Research Center and the National Energy Research
12* Supercomputer Center (NERSC) of Lawrence Livermore National Laboratory.
13*
14* Redistribution of the Portable Batch System Software and use in source
15* and binary forms, with or without modification, are permitted provided
16* that the following conditions are met:
17*
18* - Redistributions of source code must retain the above copyright and
19*   acknowledgment notices, this list of conditions and the following
20*   disclaimer.
21*
22* - Redistributions in binary form must reproduce the above copyright and
23*   acknowledgment notices, this list of conditions and the following
24*   disclaimer in the documentation and/or other materials provided with the
25*   distribution.
26*
27* - All advertising materials mentioning features or use of this software must
28*   display the following acknowledgment:
29*
30*   This product includes software developed by NASA Ames Research Center,
31*   Lawrence Livermore National Laboratory, and MRJ Technology Solutions.
32*
33*         DISCLAIMER OF WARRANTY
34*
35* THIS SOFTWARE IS PROVIDED BY MRJ TECHNOLOGY SOLUTIONS ("MRJ") "AS IS" WITHOUT
36* WARRANTY OF ANY KIND, AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
37* BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
38* FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT ARE EXPRESSLY DISCLAIMED.
39*
40* IN NO EVENT, UNLESS REQUIRED BY APPLICABLE LAW, SHALL MRJ, NASA, NOR
41* THE U.S. GOVERNMENT BE LIABLE FOR ANY DIRECT DAMAGES WHATSOEVER,
42* NOR ANY INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
43* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
44* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
45* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
46* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
47* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
48*
49* This license will be governed by the laws of the Commonwealth of Virginia,
50* without reference to its choice of law rules.
51*/
52
53/*
54 * @(#) $Id: pbs_ifl.h 529 2010-04-07 11:55:45Z bas $
55 */
56
57/*   
58 *
59 *  pbs_ifl.h   
60 *
61 */
62
63/*
64 *  Changed by: Bas van der Vlies <basv@sara.nl>.
65 *  Desc.     : removed the macro definitions so that SWIG can understand
66 *              the header file syntax
67*/
68
69#ifndef _PBS_IFL_DEF
70#define _PBS_IFL_DEF
71
72/* Attribute Names used by user commands */
73
74#define ATTR_a "Execution_Time"
75#define ATTR_c "Checkpoint"
76#define ATTR_e "Error_Path"
77#define ATTR_f "fault_tolerant"
78#define ATTR_g "group_list"
79#define ATTR_h "Hold_Types"
80#define ATTR_j "Join_Path"
81#define ATTR_k "Keep_Files"
82#define ATTR_l "Resource_List"
83#define ATTR_m "Mail_Points"
84#define ATTR_o "Output_Path"
85#define ATTR_p "Priority"
86#define ATTR_q "destination"
87#define ATTR_r "Rerunable"
88#define ATTR_t "job_array_request"
89#define ATTR_array_id "job_array_id"
90#define ATTR_u "User_List"
91#define ATTR_v "Variable_List"
92#define ATTR_A "Account_Name"
93#define ATTR_args "job_arguments"
94#define ATTR_M "Mail_Users"
95#define ATTR_N "Job_Name"
96#define ATTR_S "Shell_Path_List"
97#define ATTR_depend   "depend"
98#define ATTR_inter    "interactive"
99#define ATTR_stagein  "stagein"
100#define ATTR_stageout "stageout"
101#define ATTR_jobtype  "jobtype"
102#define ATTR_submit_host "submit_host"
103#define ATTR_init_work_dir "init_work_dir"
104
105/* additional job and general attribute names */
106
107#define ATTR_ctime      "ctime"
108#define ATTR_exechost   "exec_host"
109#define ATTR_mtime      "mtime"
110#define ATTR_qtime      "qtime"
111#define ATTR_session    "session_id"
112#define ATTR_euser      "euser"
113#define ATTR_egroup     "egroup"
114#define ATTR_hashname   "hashname"
115#define ATTR_hopcount   "hop_count"
116#define ATTR_security   "security"
117#define ATTR_sched_hint "sched_hint"
118#define ATTR_substate   "substate"
119#define ATTR_name       "Job_Name"
120#define ATTR_owner      "Job_Owner"
121#define ATTR_used       "resources_used"
122#define ATTR_state      "job_state"
123#define ATTR_queue      "queue"
124#define ATTR_server     "server"
125#define ATTR_maxrun     "max_running"
126#define ATTR_maxreport  "max_report"
127#define ATTR_total      "total_jobs"
128#define ATTR_comment    "comment"
129#define ATTR_cookie     "cookie"
130#define ATTR_qrank      "queue_rank"
131#define ATTR_altid      "alt_id"
132#define ATTR_etime      "etime"
133#define ATTR_exitstat   "exit_status"
134#define ATTR_forwardx11 "forward_x11"
135#define ATTR_submit_args "submit_args"
136#define ATTR_tokens     "tokens"
137#define ATTR_netcounter "net_counter"
138#define ATTR_umask      "umask"
139#define ATTR_start_time "start_time"
140#define ATTR_start_count "start_count"
141#define ATTR_checkpoint_dir  "checkpoint_dir"    /* user specified directory for checkpoint files */
142#define ATTR_checkpoint_name  "checkpoint_name"   /* user specified name of checkpoint file */
143#define ATTR_checkpoint_time  "checkpoint_time"   /* timestamp of start of last checkpoint */
144#define ATTR_checkpoint_restart_status  "checkpoint_restart_status"   /* checkpoint restart status */
145#define ATTR_restart_name  "restart_name"   /* saved name of checkpoint restart file */
146#define ATTR_comp_time   "comp_time"
147#define ATTR_reported    "reported"
148#define ATTR_intcmd      "inter_cmd"
149#define ATTR_P           "proxy_user"
150#define ATTR_exec_gpus   "exec_gpus"
151#define ATTR_J           "job_id"
152
153#ifdef USEJOBCREATE
154#define ATTR_pagg         "pagg_id"
155#endif /* USEJOBCREATE */
156
157#ifdef NVIDIA_GPUS
158  /* JOB_ATR_gpu_flags */
159#define ATTR_gpu_flags         "gpu_flags"
160#endif  /* NVIDIA_GPUS */
161
162/* additional queue attributes names */
163
164#define ATTR_aclgren    "acl_group_enable"
165#define ATTR_aclgroup   "acl_groups"
166#define ATTR_aclhten    "acl_host_enable"
167#define ATTR_aclhost    "acl_hosts"
168#define ATTR_acluren    "acl_user_enable"
169#define ATTR_acluser    "acl_users"
170#define ATTR_altrouter  "alt_router"
171#define ATTR_checkpoint_min  "checkpoint_min"
172#define ATTR_checkpoint_defaults  "checkpoint_defaults"
173#define ATTR_enable     "enabled"
174#define ATTR_fromroute  "from_route_only"
175#define ATTR_hostlist    "hostlist"         /* TORQUE only */
176#define ATTR_killdelay   "kill_delay"
177#define ATTR_maxgrprun   "max_group_run"
178#define ATTR_maxque      "max_queuable"
179#define ATTR_maxuserque  "max_user_queuable"
180#define ATTR_maxuserrun  "max_user_run"
181#define ATTR_qtype       "queue_type"
182#define ATTR_rescassn    "resources_assigned"
183#define ATTR_rescdflt    "resources_default"
184#define ATTR_rescmax     "resources_max"
185#define ATTR_rescmin     "resources_min"
186#define ATTR_rerunnable  "restartable"      /* TORQUE only */
187#define ATTR_rndzretry   "rendezvous_retry"
188#define ATTR_routedest   "route_destinations"
189#define ATTR_routeheld   "route_held_jobs"
190#define ATTR_routewait   "route_waiting_jobs"
191#define ATTR_routeretry  "route_retry_time"
192#define ATTR_routelife   "route_lifetime"
193#define ATTR_rsvexpdt    "reserved_expedite"
194#define ATTR_rsvsync     "reserved_sync"
195#define ATTR_start       "started"
196#define ATTR_count       "state_count"
197#define ATTR_number      "number_jobs"
198#define ATTR_acllogic    "acl_logic_or"
199#define ATTR_aclgrpslpy  "acl_group_sloppy"
200#define ATTR_keepcompleted "keep_completed"
201#define ATTR_disallowedtypes "disallowed_types"
202#define ATTR_is_transit  "is_transit"
203
204/* additional server attributes names */
205
206/* NOTE: steps for adding new attribute described in ??? */
207/*  - create #define ATTR_* in include/pbs_ifl.h
208    - insert SRV_ATR_* in include/server.h
209    - add ATTR_* in include/qmgr_svr_public.h
210    - insert structure in server/svr_attr_def.c
211        NOTE:  structure must be in same relative position as SRV_ATR_*
212    - insert usage code in proper location
213*/
214
215#define ATTR_aclroot     "acl_roots"
216#define ATTR_managers    "managers"
217#define ATTR_dfltque     "default_queue"
218#define ATTR_dispsvrsuffix "display_job_server_suffix"
219#define ATTR_jobsuffixalias "job_suffix_alias"
220#define ATTR_defnode     "default_node"
221#define ATTR_locsvrs     "location_servers"
222#define ATTR_logevents   "log_events"
223#define ATTR_logfile     "log_file"
224#define ATTR_loglevel    "log_level"
225#define ATTR_mailfrom    "mail_from"
226#define ATTR_nodepack    "node_pack"
227#define ATTR_nodesuffix  "node_suffix"
228#define ATTR_operators   "operators"
229#define ATTR_queryother  "query_other_jobs"
230#define ATTR_resccost    "resources_cost"
231#define ATTR_rescavail   "resources_available"
232#define ATTR_schedit     "scheduler_iteration"
233#define ATTR_scheduling  "scheduling"
234#define ATTR_status      "server_state"
235#define ATTR_syscost     "system_cost"
236#define ATTR_pingrate    "node_ping_rate"
237#define ATTR_ndchkrate   "node_check_rate"
238#define ATTR_tcptimeout  "tcp_timeout"
239#define ATTR_jobstatrate "job_stat_rate"
240#define ATTR_polljobs    "poll_jobs"
241#define ATTR_downonerror "down_on_error"
242#define ATTR_disableserveridcheck "disable_server_id_check"
243#define ATTR_jobnanny    "job_nanny"
244#define ATTR_ownerpurge  "owner_purge"
245#define ATTR_qcqlimits   "queue_centric_limits"
246#define ATTR_momjobsync  "mom_job_sync"
247#define ATTR_maildomain  "mail_domain"
248#define ATTR_pbsversion  "pbs_version"
249#define ATTR_submithosts "submit_hosts"
250#define ATTR_allownodesubmit  "allow_node_submit"
251#define ATTR_allowproxyuser   "allow_proxy_user"
252#define ATTR_autonodenp  "auto_node_np"
253#define ATTR_servername  "server_name"
254#define ATTR_logfilemaxsize "log_file_max_size"
255#define ATTR_logfilerolldepth "log_file_roll_depth"
256#define ATTR_logkeepdays  "log_keep_days"
257#define ATTR_nextjobnum   "next_job_number"
258#define ATTR_extraresc    "extra_resc"
259#define ATTR_schedversion "sched_version"
260#define ATTR_acctkeepdays "accounting_keep_days"
261#define ATTR_lockfile "lock_file"
262#define ATTR_credentiallifetime "credential_lifetime"
263#define ATTR_jobmustreport "job_must_report"
264#define ATTR_LockfileUpdateTime "lock_file_update_time"
265#define ATTR_LockfileCheckTime "lock_file_check_time"
266#define ATTR_npdefault  "np_default"
267#define ATTR_clonebatchsize "clone_batch_size"
268#define ATTR_clonebatchdelay "clone_batch_delay"
269#define ATTR_jobstarttimeout "job_start_timeout"
270#define ATTR_jobforcecanceltime "job_force_cancel_time"
271#define ATTR_maxarraysize    "max_job_array_size"
272#define ATTR_maxslotlimit    "max_slot_limit"
273#define ATTR_recordjobinfo   "record_job_info"
274#define ATTR_recordjobscript   "record_job_script"
275#define ATTR_joblogfilemaxsize "job_log_file_max_size"
276#define ATTR_joblogfilerolldepth "job_log_file_roll_depth"
277#define ATTR_joblogkeepdays  "job_log_keep_days"
278#ifdef MUNGE_AUTH
279  #define ATTR_authusers       "authorized_users"
280#endif
281#define ATTR_moabarraycompatible "moab_array_compatible"
282#define ATTR_nomailforce       "no_mail_force"
283
284/* additional node "attributes" names */
285
286#define ATTR_NODE_state         "state"
287#define ATTR_NODE_np            "np"
288#define ATTR_NODE_properties    "properties"
289#define ATTR_NODE_ntype         "ntype"
290#define ATTR_NODE_jobs          "jobs"
291#define ATTR_NODE_status        "status"
292#define ATTR_NODE_note          "note"
293#define ATTR_NODE_gpus           "gpus"
294#define ATTR_NODE_gpustatus      "gpu_status"
295
296/* notification email formating */
297#define ATTR_mailsubjectfmt "mail_subject_fmt"
298#define ATTR_mailbodyfmt    "mail_body_fmt"
299
300
301/* various attribute values */
302
303#define CHECKPOINT_UNSPECIFIED "u"
304#define NO_HOLD "n"
305#define NO_JOIN "n"
306#define NO_KEEP "n"
307#define MAIL_AT_ABORT "a"
308
309#define ARRAY_RANGE "array_range="      /* see qdel.c */
310#define DELDELAY  "deldelay="           /* see qdel.c */
311#define DELPURGE  "delpurge="           /* see qdel.c */
312#define DELASYNC  "delasync"            /* see qdel.c */
313#define PURGECOMP  "purgecomplete="     /* see req_delete.c */
314#define EXECQUEONLY  "exec_queue_only"  /* see req_stat.c */
315
316#define RERUNFORCE "force"
317
318#define USER_HOLD   "u"
319#define OTHER_HOLD  "o"
320#define SYSTEM_HOLD "s"
321
322/* node-attribute values (state,ntype) */
323
324#define ND_free          "free"
325#define ND_offline       "offline"
326#define ND_down          "down"
327#define ND_reserve       "reserve"
328#define ND_job_exclusive "job-exclusive"
329#define ND_job_sharing   "job-sharing"
330#define ND_busy          "busy"
331#define ND_state_unknown "state-unknown"
332#define ND_timeshared    "time-shared"
333
334/* these are not state values, they describe states and are used in pbsnodes */
335/* active = job-exclusive, job-sharing, or busy */
336#define ND_active        "active"
337/* all = all */
338#define ND_all           "all"
339/* up = job-execlusive, job-sharing, reserve, free, busy and time-shared */
340#define ND_up            "up"
341
342/* this specifies the type of node */
343#define ND_cluster "cluster"
344
345/* queue disallowed types */
346#define Q_DT_batch              "batch"
347#define Q_DT_interactive        "interactive"
348#define Q_DT_rerunable          "rerunable"
349#define Q_DT_nonrerunable       "nonrerunable"
350#define Q_DT_fault_tolerant     "fault_tolerant"
351#define Q_DT_fault_intolerant   "fault_intolerant"
352#define Q_DT_job_array          "job_array"
353
354/*constant related to sum of string lengths for above strings*/
355#define MAX_ENCODE_BFR  100
356
357#define MGR_CMD_CREATE 0
358#define MGR_CMD_DELETE 1
359#define MGR_CMD_SET 2
360#define MGR_CMD_UNSET 3
361#define MGR_CMD_LIST 4
362#define MGR_CMD_PRINT 5
363#define MGR_CMD_ACTIVE 6
364
365#define MGR_OBJ_NONE -1
366#define MGR_OBJ_SERVER  0
367#define MGR_OBJ_QUEUE   1
368#define MGR_OBJ_JOB 2
369#define MGR_OBJ_NODE 3
370
371/* Misc defines for various requests */
372
373#define MSG_OUT 1
374#define MSG_ERR 2
375
376#define SHUT_SIG -1
377#define SHUT_IMMEDIATE 0
378#define SHUT_DELAY 1
379#define SHUT_QUICK 2
380
381#define SIG_RESUME "resume"
382#define SIG_SUSPEND "suspend"
383
384
385/* WARNING: be careful changing these PBS_MAX* values.  They can result in a
386   change in the structure of the .JB file, and binary incompatibilities between
387   versions of TORQUE.  Do not change in a -fixes branch */
388   
389   
390
391#define PBS_MAXHOSTNAME  1024 /* max host name length */
392#ifndef MAXPATHLEN
393#define MAXPATHLEN  1024 /* max path name length */
394#endif
395#ifndef MAXNAMLEN
396#define MAXNAMLEN  255
397#endif
398#define MAX_NOTE  256 /* max node note length */
399#define MAX_NOTE_STR  "256" /* max node note length as a string literal (this MUST match MAX_NOTE) */
400
401#define PBS_MAXUSER  32 /* max user name length */
402#define PBS_MAXGRPN  16 /* max group name length */
403#define PBS_MAXGPUID 16 /* max gpu id length */
404#define PBS_MAXQUEUENAME 15 /* max queue name length */
405#define PBS_MAXSERVERNAME PBS_MAXHOSTNAME /* max server name length */
406#define PBS_MAXJOBARRAYLEN      7      /* number of characters allowed in jobarray portion of job id, including '[]' */ 
407#define PBS_MAXSEQNUM  8 /* max sequence number length */
408#define PBS_MAXPORTNUM  5 /* udp/tcp port numbers max=16 bits */
409#define PBS_MAXJOBARRAY  99999
410#define PBS_MAXSVRJOBID  (PBS_MAXSEQNUM + PBS_MAXSERVERNAME + PBS_MAXPORTNUM + PBS_MAXJOBARRAYLEN + 2 ) /* server job id size */
411#define PBS_MAXCLTJOBID  (PBS_MAXSVRJOBID + PBS_MAXSERVERNAME + PBS_MAXPORTNUM + PBS_MAXJOBARRAYLEN + 2) /* client job id size */
412#define PBS_MAXDEST  1024  /* destination size -- increased from 256 */
413#define PBS_MAXROUTEDEST (PBS_MAXQUEUENAME + PBS_MAXSERVERNAME + PBS_MAXPORTNUM + 2) /* destination size */
414#define PBS_USE_IFF  1 /* pbs_connect() to call pbs_iff */
415#define PBS_INTERACTIVE  1 /* Support of Interactive jobs */
416#define PBS_TERM_BUF_SZ  80 /* Interactive term buffer size */
417#define PBS_TERM_CCA  6 /* Interactive term cntl char array */
418
419/* constants used to indicate version of job ji_qs struct written to disk.
420   starting with 2.4.0 we stopped encoding the torque version number into the
421   hex value e.g. 0x00020300 for torque v2.3.0. Now we just increment a value
422   which is added to the last version encoded that way */
423#define PBS_QS_VERSION_BASE 0x00020300 /* magic number do not change */
424#define PBS_QS_VERSION_INT 2 /* increment this version number with every change to the ji_qs struct */
425#define PBS_QS_VERSION  (PBS_QS_VERSION_BASE + PBS_QS_VERSION_INT) /* version number saved in the ji_qs struct */
426
427/* someday the PBS_*_PORT definition will go away and only the */
428/* PBS_*_SERVICE_NAME form will be used, maybe   */
429
430#define PBS_BATCH_SERVICE_NAME  "pbs"
431
432#ifndef PBS_BATCH_SERVICE_PORT
433#define PBS_BATCH_SERVICE_PORT  15001
434#endif /* PBS_BATCH_SERVICE_PORT */
435
436#define PBS_BATCH_SERVICE_NAME_DIS "pbs_dis" /* new DIS port   */
437
438#ifndef PBS_BATCH_SERVICE_PORT_DIS
439#define PBS_BATCH_SERVICE_PORT_DIS 15001  /* new DIS port   */
440#endif /* PBS_BATCH_SERVICE_PORT_DIS */
441
442#define PBS_MOM_SERVICE_NAME  "pbs_mom"
443
444#ifndef PBS_MOM_SERVICE_PORT
445#define PBS_MOM_SERVICE_PORT  15002
446#endif /* PBS_MOM_SERVICE_PORT */
447
448#define PBS_MANAGER_SERVICE_NAME "pbs_resmon"
449
450#ifndef PBS_MANAGER_SERVICE_PORT
451#define PBS_MANAGER_SERVICE_PORT 15003
452#endif /* PBS_MANAGER_SERVICE_PORT */
453
454#define PBS_SCHEDULER_SERVICE_NAME "pbs_sched"
455
456#ifndef PBS_SCHEDULER_SERVICE_PORT
457#define PBS_SCHEDULER_SERVICE_PORT 15004
458#endif /* PBS_SCHEDULER_SERVICE_PORT */
459
460/*
461 * Other misc checkpoint defines
462 */
463#define CHECKPOINTHOLD "checkpoint_hold"
464#define CHECKPOINTCONT "checkpoint_cont"
465#define MOM_DEFAULT_CHECKPOINT_DIR "$MOMDEFAULTCHECKPOINTDIR$"
466
467#define NO_MOM_RELAY 1
468
469enum batch_op { SET, UNSET, INCR, DECR, EQ, NE, GE, GT, LE, LT, DFLT, MERGE, INCR_OLD };
470
471/*
472** This structure is identical to attropl so they can be used
473** interchangably.  The op field is not used.
474*/
475
476struct attrl
477  {
478  struct attrl  *next;
479  char          *name;
480  char          *resource;
481  char          *value;
482  enum batch_op  op; /* not used */
483  };
484
485struct attropl
486  {
487  struct attropl *next;
488  char   *name;
489  char   *resource;
490  char   *value;
491  enum batch_op   op;
492  };
493
494struct batch_status
495  {
496  struct batch_status *next;
497  char                *name;
498  struct attrl        *attribs;
499  char                *text;
500  };
501
502
503
504
505/* Resource Reservation Information */
506typedef int resource_t;  /* resource reservation handle */
507
508#define RESOURCE_T_NULL  (resource_t)0
509#define RESOURCE_T_ALL  (resource_t)-1
510
511extern int pbs_errno;  /* error number */
512
513extern char *pbs_server; /* server attempted to connect | connected to */
514/* see pbs_connect(3B)         */
515
516extern char *avail(int connect, char *resc);
517extern int pbs_asyrunjob(int c, char *jobid, char *location, char *extend);
518extern int pbs_alterjob(int connect, char *job_id, struct attrl *ATTRL, char *extend);
519extern int pbs_connect(char *server);
520extern int pbs_query_max_connections(void);
521extern char *pbs_default(void);
522
523extern int pbs_deljob(int connect, char *job_id, char *extend);
524extern int pbs_disconnect(int connect);
525extern char *pbs_geterrmsg(int connect);
526extern int pbs_holdjob(int connect, char *job_id, char *hold_type, char *extend);
527extern char *pbs_locjob(int connect, char *job_id, char *extend);
528
529extern int pbs_manager(int connect, int command, int obj_type, char *obj_name,
530        struct attropl *ATTROPL, char *extend);
531       
532extern int pbs_movejob(int connect, char *job_id, char *destination, char *extend);
533       
534extern int pbs_msgjob(int connect, char *job_id, int file, char *message, char *extend);
535
536extern int pbs_orderjob (int connect, char *job1, char *job2, char *extend);
537
538extern int pbs_rescquery(int connect, char **CHAR, int nresc, int *avail,
539        int *alloc, int *resv, int *down);
540
541extern int pbs_rescreserve(int connect, char **CHAR, int nresc, resource_t *phandle);
542
543extern int pbs_rescrelease(int connect, resource_t rhandle);
544
545extern int pbs_rerunjob(int connect, char *job_id, char *extend);
546
547extern int pbs_rlsjob(int connect, char *job_id, char *hold_type, char *extend);
548
549extern int pbs_runjob(int connect, char *jobid, char *loc, char *extend);
550
551extern char **pbs_selectjob(int connect, struct attropl *ATTROPL, char *extend);
552
553extern int pbs_sigjob(int connect, char *job_id, char *signal, char *extend);
554
555
556extern void pbs_statfree(struct batch_status *BATCH_STATUS);
557
558// Function does not exitst Bas van der Vlies
559//
560// extern struct batch_status *pbs_statdest(int connect, char *id, char *extend);
561
562extern struct batch_status *pbs_statjob(int connect, char *id, struct attrl *ATTRL, char *extend);
563
564extern struct batch_status *pbs_selstat(int connect, struct attropl *ATTROPL, char *extend);
565
566extern struct batch_status *pbs_statque(int connect, char *id, struct attrl *ATTRL, char *extend); 
567
568extern struct batch_status *pbs_statserver(int connect, struct attrl *ATTRL, char *extend);
569
570extern struct batch_status *pbs_statnode(int connect, char *id, struct attrl *ATTRL, char *extend);
571
572extern char *pbs_submit(int connect, struct attropl *ATTROPL, char *script,
573        char *destination, char *extend);
574       
575extern int pbs_terminate(int connect, int manner, char *extend);
576
577extern int totpool(int connect, int update);
578
579extern int usepool(int connect, int update);
580
581#ifdef TORQUE_2_4
582extern char *pbs_fbserver(void);
583extern char *pbs_get_server_list(void);
584extern int pbs_sigjobasync(int connect, char *job_id, char *signal, char *extend);
585extern int pbs_alterjob_async(int connect, char *job_id, struct attrl *ATTRL, char *extend);
586extern int pbs_checkpointjob(int connect, char *job_id, char *extend);
587#endif
588
589#endif  /* _PBS_IFL_DEF */
590
591/*  end of pbs_ifl.h  */
Note: See TracBrowser for help on using the repository browser.