📄 mms_pvmd.h
字号:
/************************************************************************//* SISCO SOFTWARE MODULE HEADER *****************************************//************************************************************************//* (c) Copyright Systems Integration Specialists Company, Inc., *//* 1986 - 1997, All Rights Reserved. *//* *//* MODULE NAME : mms_pvmd.h *//* PRODUCT(S) : MMSEASE, MMSEASE-LITE *//* *//* MODULE DESCRIPTION : *//* This file has the data structures and function definitions *//* required to interface with MMS vmd management services *//* at the primitive level. *//* *//* Parameters : In general, the first parameter is the channel *//* that the request or response is to be sent over. *//* For Responses, the second parameter is the Invoke *//* ID to be used. The last parameter is used to pass *//* operation specific information by pointer. *//* *//* Return *//* Values : Request functions return a pointer to the pending *//* request tracking structure, of type MMSREQ_PEND. *//* In case of error, the pointer is returned == 0 *//* and mms_op_err is written with the err code. *//* Response functions return 0 if OK, else an error *//* code. *//* *//* MODIFICATION LOG : *//* Date Who Rev Comments *//* -------- --- ------ ------------------------------------------- *//* 09/09/97 MDE 02 Added 'mms_class' defines *//* 08/14/97 RKR 01 Format changes *//* 04/02/97 DTL 7.00 MMSEASE 7.0 release. See MODL70.DOC for *//* history. *//************************************************************************/#ifndef MMS_PVMD_INCLUDED#define MMS_PVMD_INCLUDED#ifdef __cplusplusextern "C" {#endif#include "mms_mp.h"/************************************************************************//************************************************************************//* VMD MANAGEMENT SERVICES *//************************************************************************//* The structures below are used to pass VMD MANAGEMENT information *//* to/from the MMS primitives. *//************************************************************************//* Defines for 'mms_class' for GNL and RENAME */#define MMS_CLASS_VAR 0#define MMS_CLASS_SCAT_ACC 1#define MMS_CLASS_VARLIST 2#define MMS_CLASS_TYPE 3#define MMS_CLASS_SEM 4#define MMS_CLASS_EV_COND 5#define MMS_CLASS_EV_ACT 6#define MMS_CLASS_EV_ENROLL 7#define MMS_CLASS_JOU 8#define MMS_CLASS_DOM 9#define MMS_CLASS_PI 10#define MMS_CLASS_OPER_STA 11/************************************************************************//************************************************************************//* STATUS *//************************************************************************//* REQUEST : */#define MAX_STAT_DTL_LEN 16struct status_req_info { ST_BOOLEAN extended; /* flag indicating if extended status */ }; /* is desired */typedef struct status_req_info STATUS_REQ_INFO;/* RESPONSE : */struct status_resp_info { ST_INT16 logical_stat; /* logical status - not optional */ ST_INT16 physical_stat; /* physical status - not optional */ ST_BOOLEAN local_detail_pres; /* flag if logical detail is present */ ST_INT local_detail_len; /* length of logical detail (in bits) */ ST_UCHAR local_detail[MAX_STAT_DTL_LEN]; /* vendor-specific detailed info*/ };typedef struct status_resp_info STATUS_RESP_INFO;#ifndef MMS_LITEMMSREQ_PEND *mp_status (ST_INT chan,STATUS_REQ_INFO *info);ST_RET mp_status_resp (MMSREQ_IND *ind,STATUS_RESP_INFO *info);#elseST_RET mpl_status (STATUS_REQ_INFO *info);ST_RET mpl_status_resp (ST_UINT32 invoke, STATUS_RESP_INFO *info);#endif/************************************************************************//* UNSOLICITED STATUS *//************************************************************************//* REQUEST : */struct ustatus_req_info { ST_INT16 logical_stat; /* logical status - not optional */ ST_INT16 physical_stat; /* physical status - not optional */ ST_BOOLEAN local_detail_pres; /* flag if logical detail is present */ ST_INT local_detail_len; /* length of logical detail (in bits) */ ST_UCHAR local_detail[MAX_STAT_DTL_LEN]; /* vendor-specific detailed info*/ };typedef struct ustatus_req_info USTATUS_REQ_INFO;/* RESPONSE : No response (unsolicited) */#ifndef MMS_LITEST_RET mp_ustatus (ST_INT chan,USTATUS_REQ_INFO *info);#elseST_RET mpl_ustatus (USTATUS_REQ_INFO *info);#endif/************************************************************************//* GET NAME LIST *//************************************************************************//* REQUEST : */struct namelist_req_info { ST_BOOLEAN cs_objclass_pres; /* set for use CS object class */ union { ST_INT16 mms_class; /* object class */ struct /* CS context object sel */ { ST_INT len; /* length of ASN.1 CS class */ ST_UCHAR *cs_class; /* CS object class ASN.1 */ } cs; } obj; ST_INT16 objscope; /* object scope */ ST_CHAR dname[MAX_IDENT_LEN+1]; /* domain name, for scope = dom */ ST_BOOLEAN cont_after_pres; /* flag if continue param pres. */ ST_CHAR continue_after[MAX_IDENT_LEN+1]; /* continue-after name */ SD_END_STRUCT };typedef struct namelist_req_info NAMELIST_REQ_INFO;/* RESPONSE : */struct namelist_resp_info { ST_BOOLEAN more_follows; /* end of list boolean value */ ST_INT num_names; /* number of names */ SD_END_STRUCT };/* ST_CHAR *name_list[]; */ /* array of pointers to object names *//* NOTE: Immediately below this structure (contiguous in memory) is a *//* list of character pointers, one for each name in the name list. *//* Essentially the structure and name pointers are allocated in a *//* single call to malloc of size: (sizeof(NAMELIST_RESP_INFO) *//* + num_names * sizeof(ST_CHAR *)). The requesting user makes use of *//* the contiguous list of pointers as appropriate. The responding *//* user must pass the mp_namelist_resp function a pointer to a contig- *//* uous block of memory containing the namelist_resp_info structure at *//* the top and the list of character pointers below it. */typedef struct namelist_resp_info NAMELIST_RESP_INFO;#ifndef MMS_LITEMMSREQ_PEND *mp_namelist (ST_INT chan,NAMELIST_REQ_INFO *info);ST_RET mp_namelist_resp (MMSREQ_IND *ind,NAMELIST_RESP_INFO *info);#elseST_RET mpl_namelist (NAMELIST_REQ_INFO *info);ST_RET mpl_namelist_resp (ST_UINT32 invoke, NAMELIST_RESP_INFO *info);#endif/************************************************************************//* IDENTIFY *//************************************************************************//* REQUEST : NULL *//* RESPONSE : *//* This is the structure used for the info pass to/from the MMS prims */#define MAX_VEND_LEN 64 /* vendor name max len */#define MAX_REV_LEN 16 /* revision max len */#define MAX_MOD_LEN 16 /* model max len */struct ident_resp_info { ST_CHAR vend[MAX_VEND_LEN+1]; /* vendor */ ST_CHAR model[MAX_MOD_LEN+1]; /* model */ ST_CHAR rev[MAX_REV_LEN+1]; /* revision */ ST_INT num_as; /* number abstract syntax's *//* this structure may be followed by the abstract syntax's *//* MMS_OBJ_ID as[num_as]; */ SD_END_STRUCT };typedef struct ident_resp_info IDENT_RESP_INFO;#ifndef MMS_LITEMMSREQ_PEND *mp_ident (ST_INT chan);ST_RET mp_ident_resp (MMSREQ_IND *ind,IDENT_RESP_INFO *info);#elseST_RET mpl_ident (ST_VOID);ST_RET mpl_ident_resp (ST_UINT32 invoke, IDENT_RESP_INFO *info);#endif/************************************************************************//* RENAME *//************************************************************************//* REQUEST : */struct rename_req_info { ST_BOOLEAN cs_objclass_pres; /* set for use CS object class */ union { ST_INT16 mms_class; /* object class */ struct /* CS context object sel */ { ST_INT len; /* length of ASN.1 CS class */ ST_UCHAR *cs_class; /* CS object class ASN.1 */ } cs; } obj; OBJECT_NAME cur_name; /* current name */ ST_CHAR new_ident [MAX_IDENT_LEN+1]; /* new identifier */ SD_END_STRUCT };typedef struct rename_req_info RENAME_REQ_INFO;/* RESPONSE : NULL */#ifndef MMS_LITEMMSREQ_PEND *mp_rename (ST_INT chan,RENAME_REQ_INFO *info);ST_RET mp_rename_resp (MMSREQ_IND *ind);#elseST_RET mpl_rename (RENAME_REQ_INFO *info);ST_RET mpl_rename_resp (ST_UINT32 invoke);#endif/************************************************************************//* GET CAPABILITY LIST *//************************************************************************//* REQUEST : */struct getcl_req_info { ST_BOOLEAN cont_after_pres; /* flag if continue param pres. */ ST_CHAR *continue_after; /* pointer continue-after name */ };typedef struct getcl_req_info GETCL_REQ_INFO;/* RESPONSE : */struct getcl_resp_info { ST_BOOLEAN more_follows; /* end of list boolean value */ ST_INT num_of_capab; /* number of capabilities *//* list of capabilities *//* ST_CHAR * capab_list [num_of_capab]; */ SD_END_STRUCT };typedef struct getcl_resp_info GETCL_RESP_INFO;#ifndef MMS_LITEMMSREQ_PEND *mp_getcl (ST_INT chan,GETCL_REQ_INFO *info);ST_RET mp_getcl_resp (MMSREQ_IND *ind,GETCL_RESP_INFO *info);#elseST_RET mpl_getcl (GETCL_REQ_INFO *info);ST_RET mpl_getcl_resp (ST_UINT32 invoke, GETCL_RESP_INFO *info);#endif#ifdef __cplusplus}#endif#endif /* #define MMS_PVMD_INCLUDED */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -