#if !defined(_CONFIG_H_) #define _CONFIG_H_ #include typedef uint64_t jobid_t; #define BUG_EMAIL "rshen@shenrs.eu" #define DEFAULT_WORKDIR "/tmp/xce" #define XCE_MAXNAME_LEN (256) #define XCE_MAXHOSTNAME_LEN (256) /* hostname suggest to 256 */ #define XCE_MAXDESC_LEN (4096) /* enlarge to 4096 */ #define XCE_MAXKEY_LEN (256) #define XCE_MAXMODEL_LEN (32) #define XCE_MAXTYPE_LEN (32) #define XCE_WORKER_HTAB_SIZE (673) #define XCE_JOB_HTAB_SIZE (5009) #define XCE_MAXPATH_LEN (4096) /* enlarge to 4096 */ #define XCE_MAXCMD_LEN (4096) #define XCE_MAX_ERRMSG_LEN (4096) #define N_JOBID_BITS (sizeof(jobid_t) * 8) #define N_TAG_BITS (2) #define TAG_SHIFT (N_JOBID_BITS - N_TAG_BITS) #define TAG_JOB_ARRAY (0x01) #define N_CLUSTER_ID_BITS (6) #define CLUSTER_ID_SHIFT (TAG_SHIFT - N_CLUSTER_ID_BITS) #define N_APISERVER_ID_BITS (4) #define APISERVER_ID_SHIFT (CLUSTER_ID_SHIFT - N_APISERVER_ID_BITS) #define N_TIMESTAMP_BITS (32) #define TIMESTAMP_SHIFT (APISERVER_ID_SHIFT - N_TIMESTAMP_BITS) #define N_ARRAY_IDX_BITS (15) #define N_SEQUENCE_BITS \ (N_JOBID_BITS - N_CLUSTER_ID_BITS - N_APISERVER_ID_BITS - N_TIMESTAMP_BITS \ - N_TAG_BITS) #define SEQUENCE_HIGH_SHIFT (N_ARRAY_IDX_BITS) #define N_MAX_FIELDS_JOBID (5) #define UMAX_BITS(w) ((((uint64_t)0x01) << ((int)w)) - 1) #define MAX_CLUSTER_ID (UMAX_BITS(N_CLUSTER_ID_BITS)) #define MAX_APISERVER_ID (UMAX_BITS(N_APISERVER_ID_BITS)) #define MAX_ARRAY_IDX (UMAX_BITS(N_ARRAY_IDX_BITS)) #define REGEX_JOBID "[ \t]*([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)[ \t]*" #define REGEX_JOBARRAY_ID \ "[ \t]*([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)\\[([0-9]+)\\][ \t]*" #endif