dulpriv.h

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


Generated on 20 Dec 2005 for OFFIS DCMTK Version 3.5.4 by Doxygen 1.4.5