dcmnet/libsrc/dulpriv.h

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 */


Generated on 6 Jan 2011 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.5.1