acslm.h revision cee0fb94c0d4227de0a00efc162fb2739844b641
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*
* Copyright 2008 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _ACSLM_
#define _ACSLM_
#ifndef _CL_QM_DEFS_
#include "cl_qm_defs.h"
#endif
#ifndef _LH_DEFS_
#include "lh_defs.h"
#endif
#ifndef _LM_STRUCTS_
#include "lm_structs.h"
#endif
#ifndef _V2_STRUCTS_
#include "v2_structs.h"
#endif
#ifndef _V3_STRUCTS_
#include "v3_structs.h"
#endif
typedef unsigned long ulong_t;
#endif
typedef struct {
typedef struct {
} LM_DRVTBL;
typedef struct {
unsigned long msg_id;
} LM_CAPTBL;
typedef union {
} REQUEST_TYPE;
typedef struct {
typedef union {
typedef struct request_table {
long request_pid;
unsigned long byte_count;
unsigned int resource_count;
int pktCnt;
#define LM_ERROR_MSG_SIZE 256
#define LM_FILE_NAME_SIZE 14
typedef struct rp_tbl {
int resource_count;
unsigned char req_msg_mask;
unsigned long req_ext_mask;
} LM_RP_TBL;
extern int maxuprc;
#define MAX_ACS_PROCESSES "MAX_ACS_PROCESSES"
#define LM_SELECT_TIMEOUT 1
#define LM_SLEEP_TIMEOUT 15
#define LM_QAUDIT_INTERVAL 300
#define LM_MAX_QUEUES 1
#define LM_NO_OPTIONS 0
#define LM_FINAL_MSG 0x00
#define LM_TRAVERSE_FWD 0
#define LM_TRAVERSE_REV 1
#define LM_TRAVERSE_FIRST 0
#define LM_TRAVERSE_NEXT 1
#define LM_TRAVERSE_LAST 2
#define LM_NO_RESOURCES 0
#define LM_MIN_RESOURCES 1
#define LM_IDLE_FLAG 0
#define LM_IDLE_FORCE_FLAG 1
#define LM_TERMINATE_FLAG 2
#define LM_CANCEL_FLAG 3
#define LM_RECOVERY_FLAG 4
#define AUTO_CLEAN "AUTO_CLEAN"
#define LM_RP_TRAIL "LM_RP_TRAIL"
#define LMP_NONE 0
#define LMP_EMPTY -1
#define LMP_PERSISTANT -2
typedef enum {
LMM_FIRST = 0,
} LMM_MESSAGE;
extern STATE lm_previous_state;
extern QM_QID acslm_req_tbl_ptr;
extern QM_MID lm_next_member;
extern STATUS lm_process_creation;
extern int lm_resources_available;
extern int lm_lsm_count;
extern int lm_process_id;
extern LM_OFFLINE_VARY *lm_offline_ptr;
extern int lm_suspend_fork;
extern int lm_mount_count;
extern int lm_query_count;
extern int lm_acssurr_count;
STATUS lm_clean_que(void);
void lm_completion(void);
STATUS lm_get_resrc(void);
STATUS lm_mk_captbl(void);
STATUS lm_mk_drvtbl(void);
int lm_resource(char *request_ptr);
STATUS lm_rp_create(void);
STATUS lm_rp_table(void);
void lm_sig_hdlr(int signal_received);
void lm_terminate(int terminate_flag);
#endif /* _ACSLM_ */