00001 /* 00002 * 00003 * Copyright (C) 1996-2010, OFFIS e.V. 00004 * All rights reserved. See COPYRIGHT file for details. 00005 * 00006 * This software and supporting documentation were developed by 00007 * 00008 * OFFIS e.V. 00009 * R&D Division Health 00010 * Escherweg 2 00011 * D-26121 Oldenburg, Germany 00012 * 00013 * 00014 * Module: dcmwlm 00015 * 00016 * Author: Thomas Wilkens 00017 * 00018 * Purpose: Type definitions and macros for dcmwlm project. 00019 * 00020 * Last Update: $Author: joergr $ 00021 * Update Date: $Date: 2010-10-14 13:16:39 $ 00022 * CVS/RCS Revision: $Revision: 1.15 $ 00023 * Status: $State: Exp $ 00024 * 00025 * CVS/RCS Log at end of file 00026 * 00027 */ 00028 00029 #ifndef WlmTypeDefinitions_h 00030 #define WlmTypeDefinitions_h 00031 00032 #include "dcmtk/config/osconfig.h" 00033 #include "dcmtk/dcmdata/dctagkey.h" 00034 #include "dcmtk/dcmnet/dicom.h" /* for DIC_AE and DIC_NODENAME */ 00035 00037 enum WlmDataSourceStatusType 00038 { 00039 WLM_REFUSED_OUT_OF_RESOURCES = 0xa700, 00040 WLM_FAILED_IDENTIFIER_DOES_NOT_MATCH_SOP_CLASS = 0xa900, 00041 WLM_FAILED_UNABLE_TO_PROCESS = 0xc000, 00042 WLM_CANCEL = 0xfe00, 00043 WLM_SUCCESS = 0x0000, 00044 WLM_PENDING = 0xff00, 00045 WLM_PENDING_WARNING = 0xff01 00046 }; 00047 00049 enum WlmDataSourceType 00050 { 00051 DATA_SOURCE_IS_DATABASE, 00052 DATA_SOURCE_IS_DATA_FILES, 00053 DATA_SOURCE_IS_PKI_FILE 00054 }; 00055 00057 enum WlmDatabaseType 00058 { 00059 WLM_DATABASE_TYPE_UNKNOWN, 00060 WLM_DATABASE_ORACLE 00061 }; 00062 00064 enum WlmReturnedCharacterSetType 00065 { 00066 RETURN_NO_CHARACTER_SET, 00067 RETURN_CHARACTER_SET_ISO_IR_100, 00068 RETURN_CHARACTER_SET_FROM_FILE 00069 }; 00070 00072 #define LOCKFILENAME "lockfile" 00073 00075 struct WlmProcessSlotType 00076 { 00078 DIC_NODENAME peerName; 00080 DIC_AE callingAETitle; 00082 DIC_AE calledAETitle; 00084 int processId; 00086 time_t startTime; 00088 OFBool hasStorageAbility; 00089 }; 00090 00092 enum WlmRefuseReasonType 00093 { 00094 WLM_TOO_MANY_ASSOCIATIONS, 00095 WLM_CANNOT_FORK, 00096 WLM_BAD_APP_CONTEXT, 00097 WLM_BAD_AE_SERVICE, 00098 WLM_FORCED, 00099 WLM_NO_IC_UID 00100 }; 00101 00103 const OFConditionConst WLM_ECC_InsufficientPortPrivileges ( OFM_dcmwlm, 1, OF_error, "Insufficient privileges to listen to port."); 00104 const OFConditionConst WLM_ECC_InitializationOfNetworkConnectionFailed ( OFM_dcmwlm, 2, OF_error, "Initialization of network connection failed."); 00105 const OFConditionConst WLM_ECC_TerminationOfNetworkConnectionFailed ( OFM_dcmwlm, 3, OF_error, "Termination of network connection failed."); 00106 const OFConditionConst WLM_ECC_DatabaseStatementConfigFilesNotExistent ( OFM_dcmwlm, 4, OF_error, "Database statement configuration files not existent."); 00107 const OFConditionConst WLM_ECC_CannotConnectToDataSource ( OFM_dcmwlm, 5, OF_error, "Cannot connect to data source."); 00108 00110 const OFCondition WLM_EC_InsufficientPortPrivileges ( WLM_ECC_InsufficientPortPrivileges ); 00111 00113 const OFCondition WLM_EC_InitializationOfNetworkConnectionFailed ( WLM_ECC_InitializationOfNetworkConnectionFailed ); 00114 00116 const OFCondition WLM_EC_TerminationOfNetworkConnectionFailed ( WLM_ECC_TerminationOfNetworkConnectionFailed ); 00117 00119 const OFCondition WLM_EC_DatabaseStatementConfigFilesNotExistent ( WLM_ECC_DatabaseStatementConfigFilesNotExistent ); 00120 00122 const OFCondition WLM_EC_CannotConnectToDataSource ( WLM_ECC_CannotConnectToDataSource ); 00123 00125 #define NUMBER_OF_SUPPORTED_MATCHING_KEY_ATTRIBUTES 15 00126 00128 struct WlmSuperiorSequenceInfoType 00129 { 00131 DcmTagKey sequenceTag; 00133 unsigned long numOfItems; 00135 unsigned long currentItem; 00136 }; 00137 00138 00139 #endif 00140 00141 /* 00142 ** CVS Log 00143 ** $Log: wltypdef.h,v $ 00144 ** Revision 1.15 2010-10-14 13:16:39 joergr 00145 ** Updated copyright header. Added reference to COPYRIGHT file. 00146 ** 00147 ** Revision 1.14 2009-09-30 08:40:34 uli 00148 ** Make dcmwlm's include headers self-sufficient by including all 00149 ** needed headers directly. 00150 ** 00151 ** Revision 1.13 2007-08-10 14:25:21 meichel 00152 ** Added new command line option --keep-char-set that returns 00153 ** any specific character set as encoded in the worklist file. 00154 ** 00155 ** Revision 1.12 2006/12/15 14:49:22 onken 00156 ** Removed excessive use char* and C-array in favour of OFString and 00157 ** OFList. Simplified some implementation details. 00158 ** 00159 ** Revision 1.11 2005/12/08 16:05:44 meichel 00160 ** Changed include path schema for all DCMTK header files 00161 ** 00162 ** Revision 1.10 2005/09/23 12:56:40 wilkens 00163 ** Added attribute PatientsBirthDate as a matching key attribute to wlmscpfs. 00164 ** Thanks to Andre M. Descombes <andre@descombes.info> for the code template. 00165 ** 00166 ** Revision 1.9 2004/01/07 08:32:28 wilkens 00167 ** Added new sequence type return key attributes to wlmscpfs. Fixed bug that for 00168 ** equally named attributes in sequences always the same value will be returned. 00169 ** Added functionality that also more than one item will be returned in sequence 00170 ** type return key attributes. 00171 ** 00172 ** Revision 1.8 2003/12/23 13:04:36 wilkens 00173 ** Integrated new matching key attributes into wlmscpfs. 00174 ** 00175 ** Revision 1.7 2003/07/02 09:17:55 wilkens 00176 ** Updated documentation to get rid of doxygen warnings. 00177 ** 00178 ** Revision 1.6 2002/12/16 11:08:36 wilkens 00179 ** Added missing #include "osconfig.h" to certain files. 00180 ** 00181 ** Revision 1.5 2002/08/12 10:56:09 wilkens 00182 ** Made some modifications in in order to be able to create a new application 00183 ** which contains both wlmscpdb and ppsscpdb and another application which 00184 ** contains both wlmscpfs and ppsscpfs. 00185 ** 00186 ** Revision 1.4 2002/07/17 13:10:37 wilkens 00187 ** Corrected some minor logical errors in the wlmscpdb sources and completely 00188 ** updated the wlmscpfs so that it does not use the original wlistctn sources 00189 ** any more but standard wlm sources which are now used by all three variants 00190 ** of wlmscps. 00191 ** 00192 ** Revision 1.3 2002/04/18 14:20:09 wilkens 00193 ** Modified Makefiles. Updated latest changes again. These are the latest 00194 ** sources. Added configure file. 00195 ** 00196 ** 00197 ** 00198 */