214 lines
8.6 KiB
C
214 lines
8.6 KiB
C
/************************************************************************/
|
|
/* SISCO SOFTWARE MODULE HEADER *****************************************/
|
|
/************************************************************************/
|
|
/* (c) Copyright Systems Integration Specialists Company, Inc., */
|
|
/* 1986 - 2001, All Rights Reserved. */
|
|
/* */
|
|
/* MODULE NAME : mms_err.h */
|
|
/* PRODUCT(S) : MMSEASE, MMSEASE-LITE */
|
|
/* */
|
|
/* MODULE DESCRIPTION : */
|
|
/* This module contains structure & function definitions used for */
|
|
/* decoding and encoding an error response. */
|
|
/* */
|
|
/* MODIFICATION LOG : */
|
|
/* Date Who Rev Comments */
|
|
/* -------- --- ------ ------------------------------------------- */
|
|
/* 11/03/06 CRM 03 Add MMS_ERRCLASS_* and MMS_ERRCODE_*. */
|
|
/* 12/20/01 JRB 02 Convert to use ASN1R. */
|
|
/* 08/14/97 RKR 01 Format changes */
|
|
/* 04/02/97 DTL 7.00 MMSEASE 7.0 release. See MODL70.DOC for */
|
|
/* history. */
|
|
/************************************************************************/
|
|
|
|
#ifndef MMS_ERR_INCLUDED
|
|
#define MMS_ERR_INCLUDED
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include "mms_mp.h"
|
|
|
|
/************************************************************************/
|
|
/* MMS Error Codes: */
|
|
/************************************************************************/
|
|
|
|
#define MMS_ERRCODE_OTHER 0 /* same for all classes */
|
|
|
|
/* Defines for "VMD State" error class. */
|
|
#define MMS_ERRCLASS_VMD_STATE 0
|
|
#define MMS_ERRCODE_VMD_STATE_CONFLICT 1
|
|
#define MMS_ERRCODE_VMD_OPERATIONAL_PROBLEM 2
|
|
#define MMS_ERRCODE_DOMAIN_TRANSFER_PROBLEM 3
|
|
#define MMS_ERRCODE_STATE_MACHINE_ID_INVALID 4
|
|
|
|
/* Defines for "Application Reference" error class.*/
|
|
#define MMS_ERRCLASS_APP_REF 1
|
|
#define MMS_ERRCODE_APP_UNREACHABLE 1
|
|
#define MMS_ERRCODE_CONNECTION_LOST 2
|
|
#define MMS_ERRCODE_APP_REF_INVALID 3
|
|
#define MMS_ERRCODE_CONTEXT_UNSUPPORTED 4
|
|
|
|
/* Defines for "Definition" error class. */
|
|
#define MMS_ERRCLASS_DEFINITION 2
|
|
#define MMS_ERRCODE_OBJ_UNDEFINED 1
|
|
#define MMS_ERRCODE_INVALID_ADDRESS 2
|
|
#define MMS_ERRCODE_TYPE_UNSUPPORTED 3
|
|
#define MMS_ERRCODE_TYPE_INCONSISTENT 4
|
|
#define MMS_ERRCODE_OBJ_EXISTS 5
|
|
#define MMS_ERRCODE_OBJ_ATTRIBUTE_INCONSISTENT 6
|
|
|
|
/* Defines for "Resource" error class. */
|
|
#define MMS_ERRCLASS_RESOURCE 3
|
|
#define MMS_ERRCODE_MEM_UNAVAILABLE 1
|
|
#define MMS_ERRCODE_PROCESSOR_RESOURCE_UNAVAILABLE 2
|
|
#define MMS_ERRCODE_MASS_STORAGE_UNAVAILABLE 3
|
|
#define MMS_ERRCODE_CAPABILITY_UNAVAILABLE 4
|
|
#define MMS_ERRCODE_CAPABILITY_UNKOWN 5
|
|
|
|
/* Defines for "Service" error class. */
|
|
#define MMS_ERRCLASS_SERVICE 4
|
|
#define MMS_ERRCODE_PRIMITIVES_OUT_OF_SEQ 1
|
|
#define MMS_ERRCODE_OBJ_STATE_CONFLICT 2
|
|
/* Value 3 reserved for further definition */
|
|
#define MMS_ERRCODE_CONTINUATION_INVALID 4
|
|
#define MMS_ERRCODE_OBJ_CONSTRAINT_CONFLICT 5
|
|
|
|
/* Defines for "Service Preempt" error class. */
|
|
#define MMS_ERRCLASS_SERVICE_PREEMPT 5
|
|
#define MMS_ERRCODE_TIMEOUT 1
|
|
#define MMS_ERRCODE_DEADLOCK 2
|
|
#define MMS_ERRCODE_CANCEL 3
|
|
|
|
/* Defines for "Time Resolution" error class. */
|
|
#define MMS_ERRCLASS_TIME_RESOLUTION 6
|
|
#define MMS_ERRCODE_UNSUPPORTABLE_TIME_RESOLUTION 1
|
|
|
|
/* Defines for "Access" error class. */
|
|
#define MMS_ERRCLASS_ACCESS 7
|
|
#define MMS_ERRCODE_OBJ_ACCESS_UNSUPPORTED 1
|
|
#define MMS_ERRCODE_OBJ_NON_EXISTENT 2
|
|
#define MMS_ERRCODE_OBJ_ACCESS_DENIED 3
|
|
#define MMS_ERRCODE_OBJ_INVALIDATED 4
|
|
|
|
/* Defines for "Initiate" error class. */
|
|
#define MMS_ERRCLASS_INITIATE 8
|
|
/* Value 1 reserved for further definition */
|
|
/* Value 2 reserved for further definition */
|
|
#define MMS_ERRCODE_MAX_SRV_OUTSTD_CALLING_INSUFF 3
|
|
#define MMS_ERRCODE_MAX_SRV_OUTSTD_CALLED_INSUFF 4
|
|
#define MMS_ERRCODE_SERVICE_CBB_INSUFF 5
|
|
#define MMS_ERRCODE_PARAM_CBB_INSUFF 6
|
|
#define MMS_ERRCODE_NESTING_LEVEL_INSUFF 7
|
|
|
|
/* Defines for "Conclude" error class. */
|
|
#define MMS_ERRCLASS_CONCLUDE 9
|
|
#define MMS_ERRCODE_FURTHER_COMM_REQUIRED 1
|
|
|
|
/* Defines for "Cancel" error class. */
|
|
#define MMS_ERRCLASS_CANCEL 10
|
|
#define MMS_ERRCODE_INVOKE_ID_UNKNOWN 1
|
|
#define MMS_ERRCODE_CANCEL_NOT_POSSIBLE 2
|
|
|
|
/* Defines for "File" error class. */
|
|
#define MMS_ERRCLASS_FILE 11
|
|
#define MMS_ERRCODE_FILENAME_AMBIGUOUS 1
|
|
#define MMS_ERRCODE_FILE_BUSY 2
|
|
#define MMS_ERRCODE_FILENAME_SYNTAX_ERROR 3
|
|
#define MMS_ERRCODE_CONTENT_TYPE_INVALID 4
|
|
#define MMS_ERRCODE_POSITION_INVALID 5
|
|
#define MMS_ERRCODE_FILE_ACCESS_DENIED 6
|
|
#define MMS_ERRCODE_FILE_NON_EXISTENT 7
|
|
#define MMS_ERRCODE_DUPLICATE_FILENAME 8
|
|
#define MMS_ERRCODE_INSUFF_SPACE_IN_FILESTORE 9
|
|
|
|
/************************************************************************/
|
|
/* Additional Error Response Information - */
|
|
/* This information is set whenever there is optional additional */
|
|
/* error response information. */
|
|
/************************************************************************/
|
|
|
|
struct adtnl_err_resp_info
|
|
{
|
|
ST_BOOLEAN mod_pos_pres;/* Confirmed-ErrorPDU only: modifier pos pres */
|
|
ST_INT32 mod_pos; /* Confirmed-ErrorPDU only: modifier position */
|
|
ST_BOOLEAN info_pres; /* global additional info present indicator */
|
|
ST_BOOLEAN code_pres; /* additional code present indicator */
|
|
ST_INT32 code; /* additional code */
|
|
ST_BOOLEAN descr_pres;/* additional description present indicator */
|
|
ST_CHAR *descr; /* pointer to the additional description */
|
|
ST_BOOLEAN ssi_pres; /* service specific info present indicator */
|
|
ST_INT16 service; /* number indicating the service (0-10) */
|
|
ST_UINT32 ss_error_val; /* service specific error value, when service */
|
|
/* is 0-7, or 9 (IS) */
|
|
/* service specific object name, when service */
|
|
/* is 8 (IS-Define Event Enrollment) */
|
|
OBJECT_NAME ss_error_oname;
|
|
/* service specific additional service error, */
|
|
/* when service is 10 (IS-Companion Standard) */
|
|
ST_INT ss_error_len; /* service specific additional service length */
|
|
ST_UCHAR *ss_error_data;/* service specific additional service data ptr */
|
|
};
|
|
typedef struct adtnl_err_resp_info ADTNL_ERR_RESP_INFO;
|
|
|
|
|
|
/************************************************************************/
|
|
/* RECEIVED ERROR RESPONSE INFORMATION */
|
|
/************************************************************************/
|
|
/* The structure below is filled in when an error message is received, */
|
|
/* before the u_xxxx_conf function is invoked. */
|
|
/************************************************************************/
|
|
|
|
struct err_info
|
|
{
|
|
ST_INT16 eclass; /* error class */
|
|
ST_INT16 code; /* error code */
|
|
ADTNL_ERR_RESP_INFO adtnl; /* additional error information */
|
|
};
|
|
typedef struct err_info ERR_INFO;
|
|
|
|
/************************************************************************/
|
|
/* Error Response Decode Function - */
|
|
/* This routine is called to decode an error response PDU. */
|
|
/************************************************************************/
|
|
|
|
ST_VOID mms_err_rsp (ASN1_DEC_CTXT *aCtx);
|
|
|
|
/************************************************************************/
|
|
/* SEND ERROR RESPONSE INFORMATION */
|
|
/************************************************************************/
|
|
/* The structure below is filled in when an error response is to be */
|
|
/* sent that includes the optional additional error information. */
|
|
/* Note : this information must be set prior to issuing the call to */
|
|
/* mp_err_resp, if it is to be included in the response. */
|
|
/************************************************************************/
|
|
|
|
extern ADTNL_ERR_RESP_INFO adtnl_err_info;
|
|
|
|
/************************************************************************/
|
|
/* Error Response Encode & Send Functions - */
|
|
/* These routines are called to build and send error response PDU's, */
|
|
/* one for the case of a Cancel indication, the other for all other */
|
|
/* cases. The parameters are : a pointer to the request information, */
|
|
/* the error class, and the error code. */
|
|
/************************************************************************/
|
|
|
|
#ifndef MMS_LITE
|
|
ST_RET mp_err_resp (MMSREQ_IND *ind, ST_INT16 err_class, ST_INT16 code);
|
|
ST_RET mp_init_err (MMSREQ_IND *ind, ST_INT16 err_class, ST_INT16 code);
|
|
ST_RET mp_conclude_err (MMSREQ_IND *ind, ST_INT16 err_class, ST_INT16 code);
|
|
ST_RET mp_cancel_err (MMSREQ_IND *ind, ST_INT16 err_class, ST_INT16 code);
|
|
#else
|
|
ST_RET mpl_err_resp (ST_INT op, ST_UINT32 invoke, ST_INT16 err_class, ST_INT16 code);
|
|
ST_RET mpl_init_err (ST_INT16 err_class, ST_INT16 code);
|
|
ST_RET mpl_conclude_err (ST_INT16 err_class, ST_INT16 code);
|
|
ST_RET mpl_cancel_err (ST_UINT32 invoke, ST_INT16 err_class, ST_INT16 code);
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* MMS_ERR_INCLUDED */
|