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 + -
显示快捷键?