/* * JCG Products Ver 1.00.00 * * Copyright (C) 2000,2001 TRON Association * All rights reserved. * Copyright (C) 2000,2001 Information-technology Promotion Agency, Japan * All rights reserved. * * 上記著作権者は,以下の条件を満たす場合に限り,本ソフトウェア(本ソ * フトウェアを改変したものを含む.以下同じ)を使用・複製・改変・頒布・ * 送信・再許諾・貸与・翻案(以下再頒布という)することを無償で許諾す * る. * (1) 本ソフトウェアをソースコードの形で再頒布する場合には,上記の著 * 作権表示,この再頒布条件および下記の無保証規定が,ソースコード * 中に含まれていること. * (2) 本ソフトウェアをオブジェクトコードの形または機器に組み込んだ形 * で再頒布する場合には,次のいずれかの条件を満たすこと. * ・再頒布に伴うドキュメント(利用者マニュアルなど)に,上記の * 著作権表示,この再頒布条件および下記の無保証規定を掲載する * こと. * ・本ソフトウェアを利用したことによって直接的または間接的に生 * じたいかなる損害からも,上記著作権者を免責すること. * * 本ソフトウェアは,無保証で提供されているものである.上記著作権者は, * 本ソフトウェアに関して,その適用可能性も含めて,いかなる保証も行わ * ない.また,本ソフトウェアを利用したことによって直接的または間接的 * に生じたいかなる損害に関しても,その責任を負わない. * * The Copyrights Holder above agrees that this software (including the * Derivative work of this software. This is applicable hereinafter) is * used, copied, modified, distributed, sent, re-granted, lent or adopted * (hereinafter called "redistribution") for free as long as the * following License Conditions are satisfied. * (1) If this software is to be redistributed in the form of source * codes, Copyright Notice above, this redistribution conditions, * and the following NO WARRANTY Provisions must be included in * the source code. * (2) If this software is to be redistributed in the form of object * codes or integrated into a device, either of the following * conditions must be satisfied. * - Copyright Notice above, this redistribution conditions, and * the following NO WARRANTY Provisions appear in the attached * document (such as users manual). * - Copyrights Holder above is exempted from any direct/indirect * damages caused as a result of using this software. * * This software is provided with NO WARRANTY. Copyrights Holder above * provides NO WARRANTY on this software, including its applicability, * and is not liable for any direct/indirect damages caused as a result * of using this software. * * NOTICE: * Sentences above are translation for reference. For legal purposes, * the original Japanese sentences on top of this file are the official * sentences for License Conditions. */ #ifndef __ECBERR_H__ #define __ECBERR_H__ typedef CORBA_unsigned_long CORBA_exception_type; typedef enum { CORBA_COMPLETED_YES = 0, CORBA_COMPLETED_NO, CORBA_COMPLETED_MAYBE } CORBA_CompletionStatus; typedef enum { CORBA_NO_EXCEPTION = 0, CORBA_USER_EXCEPTION, CORBA_SYSTEM_EXCEPTION } CORBA_ExceptionType; /* * Repository ID */ #define CORBA_Ex_UNKNOWN "IDL:CORBA/UNKNOWN:1.0" #define CORBA_Ex_BAD_PARAM "IDL:CORBA/BAD_PARAM:1.0" #define CORBA_Ex_NO_MEMORY "IDL:CORBA/NO_MEMORY:1.0" #define CORBA_Ex_IMP_LIMIT "IDL:CORBA/IMP_LIMIT:1.0" #define CORBA_Ex_COMM_FAILURE "IDL:CORBA/COMM_FAILURE:1.0" #define CORBA_Ex_INV_OBJREF "IDL:CORBA/INV_OBJREF:1.0" #define CORBA_Ex_NO_PERMISSION "IDL:CORBA/NO_PERMISSION:1.0" #define CORBA_Ex_INTERNAL "IDL:CORBA/INTERNAL:1.0" #define CORBA_Ex_MARSHAL "IDL:CORBA/MARSHAL:1.0" #define CORBA_Ex_INITIALIZE "IDL:CORBA/INITIALIZE:1.0" #define CORBA_Ex_NO_IMPLEMENT "IDL:CORBA/NO_IMPLEMENT:1.0" #define CORBA_Ex_BAD_TYPECODE "IDL:CORBA/BAD_TYPECODE:1.0" #define CORBA_Ex_BAD_OPERATION "IDL:CORBA/BAD_OPERATION:1.0" #define CORBA_Ex_NO_RESOURCES "IDL:CORBA/NO_RESOURCES:1.0" #define CORBA_Ex_NO_RESPONSE "IDL:CORBA/NO_RESPONSE:1.0" #define CORBA_Ex_PERSIST_STORE "IDL:CORBA/PERSIST_STORE:1.0" #define CORBA_Ex_BAD_INV_ORDER "IDL:CORBA/BAD_INV_ORDER:1.0" #define CORBA_Ex_TRANSIENT "IDL:CORBA/TRANSIENT:1.0" #define CORBA_Ex_FREE_MEM "IDL:CORBA/FREE_MEM:1.0" #define CORBA_Ex_INV_IDENT "IDL:CORBA/INV_IDENT:1.0" #define CORBA_Ex_INV_FLAG "IDL:CORBA/INV_FLAG:1.0" #define CORBA_Ex_INTF_REPOS "IDL:CORBA/INTF_REPOS:1.0" #define CORBA_Ex_BAD_CONTEXT "IDL:CORBA/BAD_CONTEXT:1.0" #define CORBA_Ex_OBJ_ADAPTER "IDL:CORBA/OBJ_ADAPTER:1.0" #define CORBA_Ex_DATA_CONVERSION "IDL:CORBA/DATA_CONVERSION:1.0" #define CORBA_Ex_OBJECT_NOT_EXIST "IDL:CORBA/OBJECT_NOT_EXIST:1.0" #define CORBA_Ex_TRANSACTION_REQUIRED "IDL:CORBA/TRANSACTION_REQUIRED:1.0" #define CORBA_Ex_TRANSACTION_ROLLEDBACK "IDL:CORBA/TRANSACTION_ROLLEDBACK:1.0" #define CORBA_Ex_INVALID_TRANSACTION "IDL:CORBA/INVALID_TRANSACTION:1.0" #define ENVFLG_NO (0) #define ENVFLG_LOCATION_FORWARD (1) /* * Minor Code * * ***** CAUTION : We have not VMCID. ***** */ #define CORBA_Mc_VMCID (0) /* not VMCID */ #define CORBA_Mc_NOCODE (CORBA_Mc_VMCID + 0) typedef struct corba_environment { CORBA_exception_type _major; CORBA_char *_id; void *_params; CORBA_unsigned_long _flag; } CORBA_Environment; typedef struct system_exception { CORBA_unsigned_long _minor; CORBA_unsigned_long _completed; } CORBA_SystemException; CORBA_char *CORBA_exception_id(CORBA_Environment *); void *CORBA_exception_value(CORBA_Environment *); void CORBA_exception_set(CORBA_Environment *, CORBA_exception_type, CORBA_char *, void *); void CORBA_exception_free(CORBA_Environment *); #define CORBA_exception_init(env) \ { \ ((CORBA_Environment *)env)->_major = CORBA_NO_EXCEPTION; \ ((CORBA_Environment *)env)->_id = (CORBA_char *)CORBA_NULL; \ ((CORBA_Environment *)env)->_params = CORBA_NULL; \ ((CORBA_Environment *)env)->_flag = ENVFLG_NO; \ } #endif /* __ECBERR_H__ */