dul.h
来自「转化为DIB位图再显示出来的dicom文件C++代码」· C头文件 代码 · 共 573 行 · 第 1/2 页
H
573 行
#define DUL_ULSU_REJECT 0x01#define DUL_ULSP_ACSE_REJECT 0x02#define DUL_ULSP_PRESENTATION_REJECT 0x03#define DUL_ULSU_REJ_NOREASON 0x01#define DUL_ULSU_REJ_UNSUP_APP_CTX_NAME 0x02#define DUL_ULSU_REJ_UNREC_CALLING_TITLE 0x03#define DUL_ULSU_REJ_UNREC_CALLED_TITLE 0x07#define DUL_ULSP_ACSE_REJ_NOREASON 0x01#define DUL_ULSP_ACSE_UNSUP_PROTOCOL 0x02#define DUL_ULSP_PRES_REJ_TEMP_CONGEST 0x01#define DUL_ULSP_PRES_REJ_LIMIT 0x02#define DUL_ABORTNOREASON 0x00#define DUL_ABORTUNRECOGNIZEDPDU 0x01#define DUL_ABORTUNEXPECTEDPDU 0x02#define DUL_ABORTUNRECOGNIZEDPDUPARAM 0x04#define DUL_ABORTUNEXPECTEDPDUPARAM 0x05#define DUL_ABORTINVALIDPDUPARAM 0x06/* Define a set of constants and types that let the user get information** about the Association*/typedef enum { DUL_K_INTEGER, /* An integer type */ DUL_K_STRING /* A string type */} DUL_DATA_TYPE;typedef enum { DUL_K_MAX_PDV_XMIT} DUL_ASSOCIATION_PARAMETER;#define DUL_TIMEOUT 180/* Operating mode flags as defined in the 1993 toolkit specification.** Needed for backward compatibility with DCMTK releases prior to 3.0** (and possibly older CTN releases).*/#define DUL_DULCOMPAT 2768240730UL #define DUL_DIMSECOMPAT 262144UL#define DUL_MAXPDUCOMPAT 4278190335UL/* Define the function prototypes for this facility.**** First set of functions are for establishing the network and associations.*/OFConditionDUL_AcknowledgeAssociationRQ( DUL_ASSOCIATIONKEY ** association, DUL_ASSOCIATESERVICEPARAMETERS * params, int activatePDUStorage);OFConditionDUL_InitializeNetwork( const char *mode, void *param, int timeout, unsigned long options, DUL_NETWORKKEY ** network);OFConditionDUL_ReceiveAssociationRQ( DUL_NETWORKKEY ** net, DUL_BLOCKOPTIONS blk, int timeout, DUL_ASSOCIATESERVICEPARAMETERS * parameters, DUL_ASSOCIATIONKEY ** association, int activatePDUStorage);OFConditionDUL_RejectAssociationRQ( DUL_ASSOCIATIONKEY ** association, DUL_ABORTITEMS * params, int activatePDUStorage); OFConditionDUL_RequestAssociation( DUL_NETWORKKEY ** network, DUL_ASSOCIATESERVICEPARAMETERS * params, DUL_ASSOCIATIONKEY ** association, int activatePDUStorage);/* Define functions for releasing/aborting Associations.*/OFCondition DUL_AbortAssociation(DUL_ASSOCIATIONKEY ** association);OFCondition DUL_DropAssociation(DUL_ASSOCIATIONKEY ** association);OFCondition DUL_DropNetwork(DUL_NETWORKKEY ** network);OFCondition DUL_ReleaseAssociation(DUL_ASSOCIATIONKEY ** association);OFCondition DUL_AcknowledgeRelease(DUL_ASSOCIATIONKEY ** association);/* Functions for reading/write PDVs inside P DATA PDUs.*/OFConditionDUL_ReadPDVs(DUL_ASSOCIATIONKEY ** association, DUL_PDVLIST * pdvList, DUL_BLOCKOPTIONS block, int timeout);OFConditionDUL_WritePDVs(DUL_ASSOCIATIONKEY ** association, DUL_PDVLIST * pdvList);OFCondition DUL_NextPDV(DUL_ASSOCIATIONKEY ** association, DUL_PDV * pdv);/* Miscellaneous functions.*/const char *DUL_Message(OFCondition cond);void DUL_Debug(OFBool flag);OFConditionDUL_AssociationParameter(DUL_ASSOCIATIONKEY ** association, DUL_ASSOCIATION_PARAMETER param, DUL_DATA_TYPE type, void *address, size_t length);OFConditionDUL_MakePresentationCtx(DUL_PRESENTATIONCONTEXT ** ctx, DUL_SC_ROLE proposedSCRole, DUL_SC_ROLE acceptedSCRole,DUL_PRESENTATIONCONTEXTID ctxID, unsigned char reason, const char *abstractSyntax, const char *transferSyntax,...);void DUL_DumpParams(DUL_ASSOCIATESERVICEPARAMETERS * params);void DUL_DumpConnectionParameters(DUL_ASSOCIATIONKEY *association, ostream& outstream);OFCondition DUL_ClearServiceParameters(DUL_ASSOCIATESERVICEPARAMETERS * params);void DUL_DefaultServiceParameters(DUL_ASSOCIATESERVICEPARAMETERS * params);void dumpExtNegList(SOPClassExtendedNegotiationSubItemList& lst);/*** Additional functions (from dulextra.cc) needed to support ** selecting amongst several concurrent associations.** Andrew Hewett, Institute OFFIS, Oldenburg, Germany.*/OFBool DUL_dataWaiting(DUL_ASSOCIATIONKEY * callerAssociation, int timeout);int DUL_networkSocket(DUL_NETWORKKEY * callerNet);OFBool DUL_associationWaiting(DUL_NETWORKKEY * callerNet, int timeout);/* * functions allowing to retrieve raw A-ASSOCIATE PDUs from the DUL layer */void DUL_activateAssociatePDUStorage(DUL_ASSOCIATIONKEY *dulassoc);void DUL_returnAssociatePDUStorage(DUL_ASSOCIATIONKEY *dulassoc, void *& pdu, unsigned long& pdusize);/* get pointer to transport connection from opaque association pointer */DcmTransportConnection *DUL_getTransportConnection(DUL_ASSOCIATIONKEY * callerAssociation);/* change transport layer */OFCondition DUL_setTransportLayer(DUL_NETWORKKEY *callerNetworkKey, DcmTransportLayer *newLayer, int takeoverOwnership);/* activate compatibility mode and callback */void DUL_activateCompatibilityMode(DUL_ASSOCIATIONKEY *dulassoc, unsigned long mode);void DUL_activateCallback(DUL_ASSOCIATIONKEY *dulassoc, DUL_ModeCallback *cb);/* * function allowing to retrieve the peer certificate from the DUL layer */unsigned long DUL_getPeerCertificateLength(DUL_ASSOCIATIONKEY *dulassoc);unsigned long DUL_getPeerCertificate(DUL_ASSOCIATIONKEY *dulassoc, void *buf, unsigned long bufLen);/* * functions for multi-process servers *//** this function returns true if the current process was created by the * DICOM network layer during receipt of a TCP transport connection, i.e. * in receiveTransportConnectionTCP(). * @return true if current process is a forked child of a multi-process server */OFBool DUL_processIsForkedChild();/** this function marks the current process as a child created by the * DICOM network layer during receipt of a TCP transport connection, i.e. * in receiveTransportConnectionTCP(). The call is not reversible - use with care. */void DUL_markProcessAsForkedChild();/** this function marks the current process as a multi-process server and enables * the creation of child processes for each incoming TCP transport connection * in receiveTransportConnectionTCP(). * @param argc argc command line argument counter variable passed to main(). * The content of this parameter is ignored on Posix platforms but required * on Win32, where the child process is created with CreateProcess and the * command line parameters have to be passed from parent to child. * @param argv argv command line argument value array passed to main(). * The content of this parameter is ignored on Posix platforms but required * on Win32, where the child process is created with CreateProcess and the * command line parameters have to be passed from parent to child. */void DUL_requestForkOnTransportConnectionReceipt(int argc, char *argv[]);#endif/*** CVS Log** $Log: dul.h,v $** Revision 1.23 2005/12/12 15:15:08 meichel** Added missing include dependency**** Revision 1.22 2005/12/09 14:48:35 meichel** Added missing virtual destructors**** Revision 1.21 2005/12/08 16:02:23 meichel** Changed include path schema for all DCMTK header files**** Revision 1.20 2005/11/25 11:31:11 meichel** StoreSCP now supports multi-process mode both on Posix and Win32 platforms** where a separate client process is forked for each incoming association.**** Revision 1.19 2004/02/25 12:31:15 meichel** Added global option flag for compatibility with very old DCMTK releases in the** DICOM upper layer and ACSE code. Default is automatic handling, which should** work in most cases.**** Revision 1.18 2003/08/14 09:01:37 meichel** Adapted type casts to new-style typecast operators defined in ofcast.h**** Revision 1.17 2003/06/10 13:37:36 meichel** Added support for TCP wrappers in DICOM network layer**** Revision 1.16 2003/06/06 13:07:29 meichel** Introduced global flag dcmExternalSocketHandle which allows** to pass an already opened socket file descriptor to dcmnet.**** Revision 1.15 2003/06/02 16:44:11 meichel** Renamed local variables to avoid name clashes with STL**** Revision 1.14 2002/11/28 16:57:36 meichel** Added global flag dcmConnectionTimeout that defines a timeout for** outgoing association requests in the DICOM upper layer.**** Revision 1.13 2001/11/27 09:54:33 wilkens** Updated storescp. 6 new options (--output-directory, --sort-conc-studies,** --exec-on-reception, --exec-on-eostudy, --rename-on-eostudy, and** --eostudy-timeout) implemented (requirements from GO-Kard).**** Revision 1.12 2001/10/12 10:18:27 meichel** Replaced the CONDITION types, constants and functions in the dcmnet module** by an OFCondition based implementation which eliminates the global condition** stack. This is a major change, caveat emptor!**** Revision 1.11 2001/09/26 12:28:59 meichel** Implemented changes in dcmnet required by the adaptation of dcmdata** to class OFCondition. Removed some unused code.**** Revision 1.10 2001/06/01 11:02:02 meichel** Implemented global flag and command line option to disable reverse** DNS hostname lookup using gethostbyaddr when accepting associations.**** Revision 1.9 2000/10/10 12:06:54 meichel** Updated transport layer error codes and routines for printing** connection parameters.**** Revision 1.8 2000/08/10 14:50:54 meichel** Added initial OpenSSL support.**** Revision 1.7 2000/06/07 08:57:22 meichel** dcmnet ACSE routines now allow to retrieve a binary copy of the A-ASSOCIATE** RQ/AC/RJ PDUs, e.g. for logging purposes.**** Revision 1.6 1999/04/19 08:39:27 meichel** Added experimental support for extended SOP class negotiation.**** Revision 1.5 1999/03/29 11:19:59 meichel** Cleaned up dcmnet code for char* to const char* assignments.**** Revision 1.4 1998/06/29 12:14:27 meichel** Removed some name clashes (e.g. local variable with same** name as class member) to improve maintainability.** Applied some code purifications proposed by the gcc 2.8.1 -Weffc++ option.**** Revision 1.3 1997/07/21 08:40:11 andreas** - Replace all boolean types (BOOLEAN, CTNBOOLEAN, DICOM_BOOL, BOOL)** with one unique boolean type OFBool.**** Revision 1.2 1997/01/13 15:53:02 hewett** Added missing function prototypes (required for CodeWarrior 10).**** Revision 1.1.1.1 1996/03/26 18:38:44 hewett** Initial Release.*****/
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?