You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
225 lines
9.2 KiB
C
225 lines
9.2 KiB
C
/************************************************************************/
|
|
/* SISCO SOFTWARE MODULE HEADER *****************************************/
|
|
/************************************************************************/
|
|
/* (c) Copyright Systems Integration Specialists Company, Inc., */
|
|
/* 1986 - 2004, All Rights Reserved. */
|
|
/* */
|
|
/* PROPRIETARY AND CONFIDENTIAL */
|
|
/* */
|
|
/* MODULE NAME : mmsdefs.h */
|
|
/* PRODUCT(S) : MMSEASE, MMSEASE-LITE */
|
|
/* */
|
|
/* MODULE DESCRIPTION : */
|
|
/* This include file is for MMS-EASE or SMALL-MMS programmer use, */
|
|
/* and calls out all needed include files. */
|
|
/* */
|
|
/* GLOBAL FUNCTIONS DEFINED : */
|
|
/* */
|
|
/* MODIFICATION LOG : */
|
|
/* Date Who Rev Comments */
|
|
/* -------- --- ------ ------------------------------------------- */
|
|
/* 09/17/04 EJV 12 Added mms_chk_resource. */
|
|
/* 10/13/03 EJV 11 Moved MMSEASE_VERSION define to mms_defs.h. */
|
|
/* 10/07/03 EJV 10 Added MMSEASE_VERSION define. */
|
|
/* 12/12/02 JRB 09 Add ASN1_ENC_CTXT arg to _mms_unconf_req_fin */
|
|
/* 01/18/02 JRB 08 Replace _ms_fin_pdu_debug with _ms_fin_pdu */
|
|
/* and _ms_fin_pdu_log. */
|
|
/* 12/20/01 JRB 07 Convert to use ASN1R. */
|
|
/* 09/26/00 JRB 06 Add SD_CONST on ms_mk_rt_aa* */
|
|
/* 06/01/00 RKR 05 Removed prot mms_null_pdu_dec use mms_dfun.h */
|
|
/* 03/23/99 MDE 04 Changes to decode buffer allocation scheme */
|
|
/* 06/15/98 MDE 03 More changes to allow compile under C++ */
|
|
/* 06/15/98 MDE 02 Changes to allow compile under C++ */
|
|
/* 03/20/98 JRB 01 Del mmsop_en.h. Only user code needs it now. */
|
|
/* 04/02/97 DTL 7.00 MMSEASE 7.0 release. See MODL70.DOC for */
|
|
/* history. */
|
|
/************************************************************************/
|
|
|
|
#ifndef MMSDEFS_INCLUDED
|
|
#define MMSDEFS_INCLUDED
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include "glberror.h"
|
|
|
|
#ifndef MMS_LITE
|
|
#include "gen_list.h"
|
|
#include "mem_chk.h"
|
|
#include "mms_defs.h"
|
|
#include "mms_pvar.h"
|
|
#include "mms_vvar.h"
|
|
#include "mmsintrn.h"
|
|
#include "mms_mp.h"
|
|
#include "mms_mv.h"
|
|
#include "mms_err.h"
|
|
#else
|
|
#include "mem_chk.h"
|
|
#include "mms_def2.h"
|
|
#include "mms_pvar.h"
|
|
#include "mms_vvar.h"
|
|
#include "mmsintr2.h"
|
|
#include "mms_mp.h"
|
|
#include "mmsldefs.h"
|
|
#endif
|
|
|
|
#include "mms_dfun.h"
|
|
#include "mms_perr.h"
|
|
#include "mms_log.h"
|
|
#include "mmslog.h"
|
|
|
|
#include "mms_pcon.h"
|
|
#include "mms_pdom.h"
|
|
#include "mms_pevn.h"
|
|
#include "mms_pfil.h"
|
|
#include "mms_pjou.h"
|
|
#include "mms_pocs.h"
|
|
#include "mms_pprg.h"
|
|
#include "mms_psem.h"
|
|
#include "mms_pvmd.h"
|
|
|
|
/************************************************************************/
|
|
/* For use when global variables cannot be initialized at compile time */
|
|
|
|
#if defined (NO_GLB_VAR_INIT)
|
|
ST_VOID m_init_glb_vars (ST_VOID);
|
|
#endif
|
|
|
|
/************************************************************************/
|
|
ST_VOID _ms_wr_service_err (ASN1_ENC_CTXT *ac, ST_INT16 eclass, ST_INT16 code,
|
|
ADTNL_ERR_RESP_INFO *adtnl_info);
|
|
|
|
/************************************************************************/
|
|
/* Variable Access Functions. */
|
|
/************************************************************************/
|
|
|
|
ST_VOID _mms_get_service_err (ASN1_DEC_CTXT *ac, ERR_INFO *dest);
|
|
ST_VOID _ms_get_mms_fname (ASN1_DEC_CTXT *ac, FILE_NAME *dest, ST_INT max_fnames, ST_INT *num_out);
|
|
ST_VOID _ms_get_mms_app_ref (ASN1_DEC_CTXT *ac, ST_UCHAR **dest, ST_INT *dest_size, ST_VOID (*done)(ASN1_DEC_CTXT *ac));
|
|
ST_VOID _ms_get_mms_evtime (ASN1_DEC_CTXT *ac, EVENT_TIME *dest, ST_VOID (*done)(ASN1_DEC_CTXT *ac));
|
|
ST_VOID _ms_get_mms_modlist (ASN1_DEC_CTXT *ac, MODIFIER *dest, ST_INT *num_out, ST_INT max_mods, ST_VOID (*done)(ASN1_DEC_CTXT *ac));
|
|
ST_VOID _ms_get_mms_objname (ASN1_DEC_CTXT *ac, OBJECT_NAME *dest, ST_VOID (*done)(ASN1_DEC_CTXT *ac));
|
|
ST_VOID _ms_get_jou_ent_cont (ASN1_DEC_CTXT *ac, ENTRY_CONTENT *dest, ST_INT dest_size, ST_VOID (*done)(ASN1_DEC_CTXT *ac));
|
|
ST_VOID _ms_get_va_address (ASN1_DEC_CTXT *ac, VAR_ACC_ADDR *dest, ST_VOID (*done)(ASN1_DEC_CTXT *ac));
|
|
ST_VOID _ms_get_va_access_rslt (ASN1_DEC_CTXT *ac, ACCESS_RESULT *dest, ST_VOID (*done)(ASN1_DEC_CTXT *ac));
|
|
ST_VOID _ms_get_va_data (ASN1_DEC_CTXT *ac, VAR_ACC_DATA *dest, ST_VOID (*done)(ASN1_DEC_CTXT *ac));
|
|
ST_VOID _ms_get_va_type_spec (ASN1_DEC_CTXT *ac, VAR_ACC_TSPEC *dest, ST_VOID (*done)(ASN1_DEC_CTXT *ac));
|
|
ST_VOID _ms_get_va_scat_access (ASN1_DEC_CTXT *ac, SCATTERED_ACCESS *dest, ST_VOID (*done)(ASN1_DEC_CTXT *ac));
|
|
ST_VOID _ms_get_va_alt_access (ASN1_DEC_CTXT *ac, ALTERNATE_ACCESS *dest, ST_VOID (*done)(ASN1_DEC_CTXT *ac));
|
|
ST_VOID _ms_get_va_var_spec (ASN1_DEC_CTXT *ac, VARIABLE_SPEC *dest, ST_VOID (*done)(ASN1_DEC_CTXT *ac));
|
|
ST_VOID _ms_get_va_var_list (ASN1_DEC_CTXT *ac, VARIABLE_LIST *dest, ST_INT *num_out, ST_INT max_num, ST_VOID (*done)(ASN1_DEC_CTXT *ac));
|
|
ST_VOID _ms_get_va_spec (ASN1_DEC_CTXT *ac, VAR_ACC_SPEC *dest, ST_INT max_vars, ST_VOID (*done)(ASN1_DEC_CTXT *ac));
|
|
|
|
ST_VOID _ms_wr_mms_fname (ASN1_ENC_CTXT *ac, FILE_NAME *src, ST_INT num);
|
|
ST_VOID _ms_wr_mms_evtime (ASN1_ENC_CTXT *ac, EVENT_TIME *src);
|
|
ST_VOID _ms_wr_mms_modlist (ASN1_ENC_CTXT *ac, MODIFIER *src, ST_INT num);
|
|
ST_VOID _ms_wr_mms_objname (ASN1_ENC_CTXT *ac, OBJECT_NAME *src);
|
|
ST_VOID _ms_wr_jou_ent_cont (ASN1_ENC_CTXT *ac, ENTRY_CONTENT *src);
|
|
ST_VOID _ms_wr_va_address (ASN1_ENC_CTXT *ac, VAR_ACC_ADDR *src);
|
|
ST_VOID _ms_wr_va_access_rslt (ASN1_ENC_CTXT *ac, ACCESS_RESULT *src);
|
|
ST_VOID _ms_wr_va_data (ASN1_ENC_CTXT *ac, VAR_ACC_DATA *src);
|
|
ST_VOID _ms_wr_va_type_spec (ASN1_ENC_CTXT *ac, VAR_ACC_TSPEC *src);
|
|
ST_VOID _ms_wr_va_scat_access (ASN1_ENC_CTXT *ac, SCATTERED_ACCESS *src);
|
|
ST_VOID _ms_wr_va_alt_access (ASN1_ENC_CTXT *ac, ALTERNATE_ACCESS *src);
|
|
ST_VOID _ms_wr_va_var_spec (ASN1_ENC_CTXT *ac, VARIABLE_SPEC *src);
|
|
ST_VOID _ms_wr_va_var_list (ASN1_ENC_CTXT *ac, VARIABLE_LIST *src, ST_INT num);
|
|
ST_VOID _ms_wr_va_spec (ASN1_ENC_CTXT *ac, VAR_ACC_SPEC *src);
|
|
|
|
ST_VOID _mms_init_dec (ASN1_DEC_CTXT *ac, ST_BOOLEAN req);
|
|
|
|
/************************************************************************/
|
|
/* Alternate Access Functions */
|
|
/************************************************************************/
|
|
ST_VOID _ms_log_runtime_aa (RT_AA_CTRL *rt_aa, ST_INT num_aa);
|
|
|
|
ST_RET _ms_mk_rt_aa_all (SD_CONST RUNTIME_TYPE *rt_head, ST_INT rt_num,
|
|
RT_AA_CTRL **rt_aa_out, ST_INT *num_aa_out);
|
|
|
|
ST_RET _ms_mk_rt_aa (SD_CONST RUNTIME_TYPE *rt, ST_INT rt_num,
|
|
ALT_ACCESS *alt_acc,
|
|
RT_AA_CTRL **rt_aa_out, ST_INT *num_aa_out);
|
|
|
|
ST_INT _ms_get_rtaa_data_size (RT_AA_CTRL *runtime_aa, ST_INT num_rt_aa);
|
|
|
|
/************************************************************************/
|
|
/* Special ASN.1 buffer handling functions for VM operations where */
|
|
/* a series of ASN.1 encoded AA must be created. */
|
|
|
|
ST_UCHAR *_m_get_aa_asn1_buf (ST_INT *size_out);
|
|
ST_VOID _m_free_aa_asn1_buf (ST_VOID);
|
|
ST_VOID _m_set_aa_asn1_buf_end (ST_UCHAR *new_end);
|
|
|
|
/************************************************************************/
|
|
/************************************************************************/
|
|
/* General function declarations used by the mp_xxx series. */
|
|
/* These are not of general use to the application programmer. */
|
|
/************************************************************************/
|
|
|
|
ST_VOID _ms_chk_for_extern (ASN1_DEC_CTXT *ac, ST_INT *len_ptr, ST_UCHAR **buf_ptr, ST_VOID (*done)(ASN1_DEC_CTXT *ac));
|
|
ST_VOID _ms_set_cs_check (ASN1_DEC_CTXT *ac);
|
|
ST_VOID _ms_set_cs_check2 (ASN1_DEC_CTXT *ac);
|
|
ST_VOID _mms_dec_done_ok (ASN1_DEC_CTXT *ac);
|
|
|
|
ST_UCHAR *_ms_fin_pdu (ASN1_ENC_CTXT *aCtx, ST_INT type, ST_INT *pPduLen);
|
|
#ifdef DEBUG_SISCO
|
|
ST_VOID _ms_fin_pdu_log (ST_INT type, ST_CHAR *txt,
|
|
ST_UCHAR *pduPtr, ST_INT pduLen);
|
|
#endif
|
|
|
|
ST_VOID _mms_dec_buf_free (ASN1_DEC_CTXT *ac, ST_RET err_code);
|
|
#ifndef MMS_LITE
|
|
ST_RET _mms_send_null_resp (MMSREQ_IND *indptr, ST_INT opcode);
|
|
MMSREQ_PEND *_mms_send_null_req (ST_INT chan, ST_INT opcode);
|
|
|
|
MMSREQ_PEND *_mms_req_send (ST_INT opcode,
|
|
ST_VOID (*mk_ptr)(ASN1_ENC_CTXT *, ST_CHAR *),
|
|
ST_INT chan,
|
|
ST_CHAR *info_ptr);
|
|
|
|
ST_INT _mms_chk_resource (ST_INT chan);
|
|
ST_RET _mms_unconf_req_send (ST_INT opcode,
|
|
ST_VOID (*mk_ptr)(ASN1_ENC_CTXT *, ST_CHAR *),
|
|
ST_INT chan,
|
|
ST_CHAR *info_ptr);
|
|
|
|
ST_RET _mms_resp_send (ST_INT opcode,
|
|
MMSREQ_IND *indptr,
|
|
ST_VOID (*mk_fun)(ASN1_ENC_CTXT *, ST_CHAR *),
|
|
ST_CHAR *info_ptr);
|
|
|
|
#else
|
|
ST_RET _mms_fin_null_resp (ST_UINT32 invoke_id, ST_INT opcode);
|
|
ST_RET _mms_fin_null_req (ST_INT opcode);
|
|
|
|
ST_RET _mms_resp_fin (ST_INT opcode, ST_UINT32 invoke_id,
|
|
ST_VOID (*mk_fun)(ASN1_ENC_CTXT *, ST_CHAR *),
|
|
ST_CHAR *info_ptr);
|
|
|
|
ST_RET _mms_req_fin (ST_INT opcode,
|
|
ST_VOID (*mk_ptr)(ASN1_ENC_CTXT *, ST_CHAR *),
|
|
ST_CHAR *info_ptr);
|
|
|
|
ST_RET _mms_unconf_req_fin (ASN1_ENC_CTXT *aCtx, ST_INT opcode,
|
|
ST_VOID (*mk_ptr)(ASN1_ENC_CTXT *, ST_CHAR *),
|
|
ST_CHAR *info_ptr);
|
|
#endif
|
|
|
|
/* A casting aid ... */
|
|
#define M_CAST_MK_FUN(x) ((ST_VOID(*)(ASN1_ENC_CTXT *, ST_CHAR *)) x)
|
|
|
|
|
|
#ifndef MMS_LITE
|
|
#include "mms_llp.h"
|
|
#include "mmsllp.h"
|
|
#endif
|
|
|
|
#include "mmsefun.h" /* Bruder moved this here */
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* MMSDEFS_INCLUDED */
|
|
|
|
|