00001 /* 00002 * 00003 * Copyright (C) 1996-2005, OFFIS 00004 * 00005 * This software and supporting documentation were developed by 00006 * 00007 * Kuratorium OFFIS e.V. 00008 * Healthcare Information and Communication Systems 00009 * Escherweg 2 00010 * D-26121 Oldenburg, Germany 00011 * 00012 * THIS SOFTWARE IS MADE AVAILABLE, AS IS, AND OFFIS MAKES NO WARRANTY 00013 * REGARDING THE SOFTWARE, ITS PERFORMANCE, ITS MERCHANTABILITY OR 00014 * FITNESS FOR ANY PARTICULAR USE, FREEDOM FROM ANY COMPUTER DISEASES OR 00015 * ITS CONFORMITY TO ANY SPECIFICATION. THE ENTIRE RISK AS TO QUALITY AND 00016 * PERFORMANCE OF THE SOFTWARE IS WITH THE USER. 00017 * 00018 * Module: dcmwlm 00019 * 00020 * Author: Thomas Wilkens 00021 * 00022 * Purpose: Type definitions and macros for dcmwlm project. 00023 * 00024 * Last Update: $Author: meichel $ 00025 * Update Date: $Date: 2005/12/08 16:05:44 $ 00026 * Source File: $Source: /share/dicom/cvs-depot/dcmtk/dcmwlm/include/dcmtk/dcmwlm/wltypdef.h,v $ 00027 * CVS/RCS Revision: $Revision: 1.11 $ 00028 * Status: $State: Exp $ 00029 * 00030 * CVS/RCS Log at end of file 00031 * 00032 */ 00033 00034 #ifndef WlmTypeDefinitions_h 00035 #define WlmTypeDefinitions_h 00036 00037 #include "dcmtk/config/osconfig.h" 00038 #include "dcmtk/dcmdata/dctagkey.h" 00039 00041 enum WlmDataSourceStatusType 00042 { 00043 WLM_REFUSED_OUT_OF_RESOURCES = 0xa700, 00044 WLM_FAILED_IDENTIFIER_DOES_NOT_MATCH_SOP_CLASS = 0xa900, 00045 WLM_FAILED_UNABLE_TO_PROCESS = 0xc000, 00046 WLM_CANCEL = 0xfe00, 00047 WLM_SUCCESS = 0x0000, 00048 WLM_PENDING = 0xff00, 00049 WLM_PENDING_WARNING = 0xff01 00050 }; 00051 00053 enum WlmDataSourceType 00054 { 00055 DATA_SOURCE_IS_DATABASE, 00056 DATA_SOURCE_IS_DATA_FILES, 00057 DATA_SOURCE_IS_PKI_FILE 00058 }; 00059 00061 enum WlmDatabaseType 00062 { 00063 WLM_DATABASE_TYPE_UNKNOWN, 00064 WLM_DATABASE_ORACLE 00065 }; 00066 00068 enum WlmReturnedCharacterSetType 00069 { 00070 RETURN_NO_CHARACTER_SET, 00071 RETURN_CHARACTER_SET_ISO_IR_100 00072 }; 00073 00075 #define LOCKFILENAME "lockfile" 00076 00078 struct WlmProcessSlotType 00079 { 00081 DIC_NODENAME peerName; 00083 DIC_AE callingAETitle; 00085 DIC_AE calledAETitle; 00087 int processId; 00089 time_t startTime; 00091 OFBool hasStorageAbility; 00093 WlmProcessSlotType *next; 00094 }; 00095 00097 struct WlmProcessTableType 00098 { 00100 int pcnt; 00102 WlmProcessSlotType *plist; 00103 }; 00104 00106 enum WlmRefuseReasonType 00107 { 00108 WLM_TOO_MANY_ASSOCIATIONS, 00109 WLM_CANNOT_FORK, 00110 WLM_BAD_APP_CONTEXT, 00111 WLM_BAD_AE_SERVICE, 00112 WLM_FORCED, 00113 WLM_NO_IC_UID 00114 }; 00115 00117 const OFConditionConst WLM_ECC_InsufficientPortPrivileges ( OFM_dcmwlm, 1, OF_error, "Insufficient privileges to listen to port."); 00118 const OFConditionConst WLM_ECC_InitializationOfNetworkConnectionFailed ( OFM_dcmwlm, 2, OF_error, "Initialization of network connection failed."); 00119 const OFConditionConst WLM_ECC_TerminationOfNetworkConnectionFailed ( OFM_dcmwlm, 3, OF_error, "Termination of network connection failed."); 00120 const OFConditionConst WLM_ECC_DatabaseStatementConfigFilesNotExistent ( OFM_dcmwlm, 4, OF_error, "Database statement configuration files not existent."); 00121 const OFConditionConst WLM_ECC_CannotConnectToDataSource ( OFM_dcmwlm, 5, OF_error, "Cannot connect to data source."); 00122 00124 const OFCondition WLM_EC_InsufficientPortPrivileges ( WLM_ECC_InsufficientPortPrivileges ); 00125 00127 const OFCondition WLM_EC_InitializationOfNetworkConnectionFailed ( WLM_ECC_InitializationOfNetworkConnectionFailed ); 00128 00130 const OFCondition WLM_EC_TerminationOfNetworkConnectionFailed ( WLM_ECC_TerminationOfNetworkConnectionFailed ); 00131 00133 const OFCondition WLM_EC_DatabaseStatementConfigFilesNotExistent ( WLM_ECC_DatabaseStatementConfigFilesNotExistent ); 00134 00136 const OFCondition WLM_EC_CannotConnectToDataSource ( WLM_ECC_CannotConnectToDataSource ); 00137 00139 #define NUMBER_OF_SUPPORTED_MATCHING_KEY_ATTRIBUTES 15 00140 00142 struct WlmSuperiorSequenceInfoType 00143 { 00145 DcmTagKey sequenceTag; 00147 unsigned long numOfItems; 00149 unsigned long currentItem; 00150 }; 00151 00152 00153 #endif 00154 00155 /* 00156 ** CVS Log 00157 ** $Log: wltypdef.h,v $ 00158 ** Revision 1.11 2005/12/08 16:05:44 meichel 00159 ** Changed include path schema for all DCMTK header files 00160 ** 00161 ** Revision 1.10 2005/09/23 12:56:40 wilkens 00162 ** Added attribute PatientsBirthDate as a matching key attribute to wlmscpfs. 00163 ** Thanks to Andre M. Descombes <andre@descombes.info> for the code template. 00164 ** 00165 ** Revision 1.9 2004/01/07 08:32:28 wilkens 00166 ** Added new sequence type return key attributes to wlmscpfs. Fixed bug that for 00167 ** equally named attributes in sequences always the same value will be returned. 00168 ** Added functionality that also more than one item will be returned in sequence 00169 ** type return key attributes. 00170 ** 00171 ** Revision 1.8 2003/12/23 13:04:36 wilkens 00172 ** Integrated new matching key attributes into wlmscpfs. 00173 ** 00174 ** Revision 1.7 2003/07/02 09:17:55 wilkens 00175 ** Updated documentation to get rid of doxygen warnings. 00176 ** 00177 ** Revision 1.6 2002/12/16 11:08:36 wilkens 00178 ** Added missing #include "osconfig.h" to certain files. 00179 ** 00180 ** Revision 1.5 2002/08/12 10:56:09 wilkens 00181 ** Made some modifications in in order to be able to create a new application 00182 ** which contains both wlmscpdb and ppsscpdb and another application which 00183 ** contains both wlmscpfs and ppsscpfs. 00184 ** 00185 ** Revision 1.4 2002/07/17 13:10:37 wilkens 00186 ** Corrected some minor logical errors in the wlmscpdb sources and completely 00187 ** updated the wlmscpfs so that it does not use the original wlistctn sources 00188 ** any more but standard wlm sources which are now used by all three variants 00189 ** of wlmscps. 00190 ** 00191 ** Revision 1.3 2002/04/18 14:20:09 wilkens 00192 ** Modified Makefiles. Updated latest changes again. These are the latest 00193 ** sources. Added configure file. 00194 ** 00195 ** 00196 ** 00197 */