00001 /* 00002 ** 00003 ** Author: Andrew Hewett, medigration GmbH 00004 ** 00005 ** Module: extneg.h 00006 ** 00007 ** Purpose: 00008 ** Extended Negotiation for A-ASSOCIATE 00009 ** 00010 ** Last Update: $Author: meichel $ 00011 ** Update Date: $Date: 2005/12/08 16:02:24 $ 00012 ** Source File: $Source: /share/dicom/cvs-depot/dcmtk/dcmnet/include/dcmtk/dcmnet/extneg.h,v $ 00013 ** CVS/RCS Revision: $Revision: 1.3 $ 00014 ** Status: $State: Exp $ 00015 ** 00016 ** CVS/RCS Log at end of file 00017 ** 00018 */ 00019 00020 #ifndef EXTNEG_H 00021 #define EXTNEG_H 00022 00023 #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ 00024 00025 #include "dcmtk/ofstd/ofstring.h" 00026 #include "dcmtk/ofstd/oflist.h" 00027 00028 #define DUL_TYPESOPCLASSEXTENDEDNEGOTIATION (unsigned char)0x56 00029 00030 00031 struct SOPClassExtendedNegotiationSubItem { 00032 unsigned char itemType; 00033 unsigned char reserved1; 00034 unsigned short itemLength; 00035 unsigned short sopClassUIDLength; 00036 OFString sopClassUID; 00037 unsigned char* serviceClassAppInfo; 00038 unsigned short serviceClassAppInfoLength; 00039 00040 SOPClassExtendedNegotiationSubItem() 00041 : itemType(0x56) 00042 , reserved1(0) 00043 , itemLength(0) 00044 , sopClassUIDLength(0) 00045 , sopClassUID() 00046 , serviceClassAppInfo(NULL) 00047 , serviceClassAppInfoLength(0) 00048 { 00049 } 00050 00051 private: 00052 // private undefined copy constructor and operator= 00053 SOPClassExtendedNegotiationSubItem(const SOPClassExtendedNegotiationSubItem& arg); 00054 SOPClassExtendedNegotiationSubItem& operator= (const SOPClassExtendedNegotiationSubItem& arg); 00055 }; 00056 00057 typedef OFList<SOPClassExtendedNegotiationSubItem*> SOPClassExtendedNegotiationSubItemList; 00058 00059 void appendList(const SOPClassExtendedNegotiationSubItemList& from, SOPClassExtendedNegotiationSubItemList& to); 00060 00061 void deleteListMembers(SOPClassExtendedNegotiationSubItemList& lst); 00062 00063 #endif 00064 00065 /* 00066 ** CVS/RCS Log: 00067 ** $Log: extneg.h,v $ 00068 ** Revision 1.3 2005/12/08 16:02:24 meichel 00069 ** Changed include path schema for all DCMTK header files 00070 ** 00071 ** Revision 1.2 2003/06/02 16:44:11 meichel 00072 ** Renamed local variables to avoid name clashes with STL 00073 ** 00074 ** Revision 1.1 1999/04/19 08:39:55 meichel 00075 ** Added experimental support for extended SOP class negotiation. 00076 ** 00077 ** 00078 */