00001 /* 00002 * 00003 * Copyright (C) 1994-2010, OFFIS e.V. 00004 * All rights reserved. See COPYRIGHT file for details. 00005 * 00006 * This software and supporting documentation were partly developed by 00007 * 00008 * OFFIS e.V. 00009 * R&D Division Health 00010 * Escherweg 2 00011 * D-26121 Oldenburg, Germany 00012 * 00013 * For further copyrights, see the following paragraphs. 00014 * 00015 */ 00016 00017 /* 00018 Copyright (C) 1993, 1994, RSNA and Washington University 00019 00020 The software and supporting documentation for the Radiological 00021 Society of North America (RSNA) 1993, 1994 Digital Imaging and 00022 Communications in Medicine (DICOM) Demonstration were developed 00023 at the 00024 Electronic Radiology Laboratory 00025 Mallinckrodt Institute of Radiology 00026 Washington University School of Medicine 00027 510 S. Kingshighway Blvd. 00028 St. Louis, MO 63110 00029 as part of the 1993, 1994 DICOM Central Test Node project for, and 00030 under contract with, the Radiological Society of North America. 00031 00032 THIS SOFTWARE IS MADE AVAILABLE, AS IS, AND NEITHER RSNA NOR 00033 WASHINGTON UNIVERSITY MAKE ANY WARRANTY ABOUT THE SOFTWARE, ITS 00034 PERFORMANCE, ITS MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR 00035 USE, FREEDOM FROM ANY COMPUTER DISEASES OR ITS CONFORMITY TO ANY 00036 SPECIFICATION. THE ENTIRE RISK AS TO QUALITY AND PERFORMANCE OF 00037 THE SOFTWARE IS WITH THE USER. 00038 00039 Copyright of the software and supporting documentation is 00040 jointly owned by RSNA and Washington University, and free access 00041 is hereby granted as a license to use this software, copy this 00042 software and prepare derivative works based upon this software. 00043 However, any distribution of this software source code or 00044 supporting documentation or derivative works (source code and 00045 supporting documentation) must include the three paragraphs of 00046 the copyright notice. 00047 */ 00048 00049 /* 00050 ** DICOM 93 00051 ** Electronic Radiology Laboratory 00052 ** Mallinckrodt Institute of Radiology 00053 ** Washington University School of Medicine 00054 ** 00055 ** Module Name(s): 00056 ** Author, Date: Stephen M. Moore, xx-May-92 00057 ** Intent: 00058 ** This header contains private typedefs for the DICOM Upper Layer 00059 ** (DUL) protocol package. This is to be used to compile the DUL 00060 ** package and is not intended to be seen by the applications programmer. 00061 ** Files at the package level should include this file to get the 00062 ** proper typedefs and include the public file "dulprotocol.h" to 00063 ** get the public definitions and function prototypes. I have omitted 00064 ** the public definitions and prototypes on purpose so that they 00065 ** exist in only one location. 00066 ** 00067 ** Last Update: $Author: joergr $, $Date: 2010-12-01 08:26:37 $ 00068 ** Revision: $Revision: 1.11 $ 00069 ** Status: $State: Exp $ 00070 */ 00071 00072 #ifndef DULPRIVATE_H 00073 #define DULPRIVATE_H 00074 00075 #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ 00076 00077 00078 #define PRV_DEFAULTTIMEOUT -1 00079 #define PRV_LISTENBACKLOG 50 00080 00081 OFCondition DUL_InitializeFSM(void); 00082 OFCondition 00083 PRV_StateMachine(PRIVATE_NETWORKKEY ** network, 00084 PRIVATE_ASSOCIATIONKEY ** association, int event, int state, 00085 void *params); 00086 00087 OFCondition 00088 constructAssociatePDU(DUL_ASSOCIATESERVICEPARAMETERS * items, 00089 unsigned char type, PRV_ASSOCIATEPDU * pdu); 00090 OFCondition 00091 constructAssociateRejectPDU(unsigned char result, 00092 unsigned char source, unsigned char reason, 00093 DUL_REJECTRELEASEABORTPDU * pdu); 00094 OFCondition constructReleaseRQPDU(DUL_REJECTRELEASEABORTPDU * pdu, unsigned long mode); 00095 OFCondition constructReleaseRPPDU(DUL_REJECTRELEASEABORTPDU * pdu); 00096 OFCondition 00097 constructAbortPDU(unsigned char src, unsigned char reason, 00098 DUL_REJECTRELEASEABORTPDU * pdu, unsigned long mode); 00099 OFCondition 00100 constructDataPDU(void *buf, unsigned long length, DUL_DATAPDV type, 00101 DUL_PRESENTATIONCONTEXTID ctxID, OFBool last, DUL_DATAPDU * pdu); 00102 OFCondition 00103 streamAssociatePDU(PRV_ASSOCIATEPDU * assoc, unsigned char *b, 00104 unsigned long maxLength, unsigned long *rtnLen); 00105 OFCondition 00106 streamRejectReleaseAbortPDU(DUL_REJECTRELEASEABORTPDU * pdu, 00107 unsigned char *b, unsigned long maxLength, unsigned long *rtnLen); 00108 OFCondition 00109 streamDataPDUHead(DUL_DATAPDU * pdu, unsigned char *buf, 00110 unsigned long maxLength, unsigned long *rtnLen); 00111 OFCondition 00112 parseAssociate(unsigned char *buf, unsigned long len, 00113 PRV_ASSOCIATEPDU * pdu); 00114 OFCondition 00115 PRV_NextPDUType(PRIVATE_ASSOCIATIONKEY ** association, 00116 DUL_BLOCKOPTIONS block, int timeout, unsigned char *type); 00117 00118 #endif 00119 00120 /* 00121 ** CVS Log 00122 ** $Log: dulpriv.h,v $ 00123 ** Revision 1.11 2010-12-01 08:26:37 joergr 00124 ** Added OFFIS copyright header (beginning with the year 1994). 00125 ** 00126 ** Revision 1.10 2010-10-14 13:19:29 joergr 00127 ** Updated copyright header. Added reference to COPYRIGHT file. 00128 ** 00129 ** Revision 1.9 2009-11-18 11:53:59 uli 00130 ** Switched to logging mechanism provided by the "new" oflog module. 00131 ** 00132 ** Revision 1.8 2005-12-08 15:48:09 meichel 00133 ** Updated Makefiles to correctly install header files 00134 ** 00135 ** Revision 1.7 2004/02/25 12:31:17 meichel 00136 ** Added global option flag for compatibility with very old DCMTK releases in the 00137 ** DICOM upper layer and ACSE code. Default is automatic handling, which should 00138 ** work in most cases. 00139 ** 00140 ** Revision 1.6 2001/10/12 10:18:41 meichel 00141 ** Replaced the CONDITION types, constants and functions in the dcmnet module 00142 ** by an OFCondition based implementation which eliminates the global condition 00143 ** stack. This is a major change, caveat emptor! 00144 ** 00145 ** Revision 1.5 2001/09/26 12:29:04 meichel 00146 ** Implemented changes in dcmnet required by the adaptation of dcmdata 00147 ** to class OFCondition. Removed some unused code. 00148 ** 00149 ** Revision 1.4 2000/03/03 14:11:26 meichel 00150 ** Implemented library support for redirecting error messages into memory 00151 ** instead of printing them to stdout/stderr for GUI applications. 00152 ** 00153 ** Revision 1.3 1997/07/21 08:47:25 andreas 00154 ** - Replace all boolean types (BOOLEAN, CTNBOOLEAN, DICOM_BOOL, BOOL) 00155 ** with one unique boolean type OFBool. 00156 ** 00157 ** Revision 1.2 1997/01/13 15:53:13 hewett 00158 ** Added missing function prototypes (required for CodeWarrior 10). 00159 ** 00160 ** Revision 1.1.1.1 1996/03/26 18:38:46 hewett 00161 ** Initial Release. 00162 ** 00163 ** 00164 */