DCMTK Version 3.6.7
OFFIS DICOM Toolkit
Classes | Functions | Variables
dimse.h File Reference

type definitions, constants, global variables and functions for the dcmnet/dimse module More...

Classes

struct  T_DIMSE_C_StoreRQ
 
struct  T_DIMSE_C_StoreRSP
 
struct  T_DIMSE_C_EchoRQ
 
struct  T_DIMSE_C_EchoRSP
 
struct  T_DIMSE_C_FindRQ
 
struct  T_DIMSE_C_FindRSP
 
struct  T_DIMSE_C_GetRQ
 
struct  T_DIMSE_C_GetRSP
 
struct  T_DIMSE_C_MoveRQ
 
struct  T_DIMSE_C_MoveRSP
 
struct  T_DIMSE_C_CancelRQ
 
struct  T_DIMSE_N_EventReportRQ
 
struct  T_DIMSE_N_EventReportRSP
 
struct  T_DIMSE_N_GetRQ
 
struct  T_DIMSE_N_GetRSP
 
struct  T_DIMSE_N_SetRQ
 
struct  T_DIMSE_N_SetRSP
 
struct  T_DIMSE_N_ActionRQ
 
struct  T_DIMSE_N_ActionRSP
 
struct  T_DIMSE_N_CreateRQ
 
struct  T_DIMSE_N_CreateRSP
 
struct  T_DIMSE_N_DeleteRQ
 
struct  T_DIMSE_N_DeleteRSP
 
struct  T_DIMSE_Message
 
struct  T_DIMSE_StoreProgress
 
struct  T_DIMSE_DetectedCancelParameters
 
union  T_DIMSE_Message.msg
 

Functions

DCMTK_DCMNET_EXPORT OFCondition DIMSE_sendMessageUsingFileData (T_ASC_Association *association, T_ASC_PresentationContextID presID, T_DIMSE_Message *msg, DcmDataset *statusDetail, const char *dataFileName, DIMSE_ProgressCallback callback, void *callbackContext, DcmDataset **commandSet=NULL)
 send a DIMSE command and possibly also instance data from a file via network to another DICOM application. More...
 
DCMTK_DCMNET_EXPORT OFCondition DIMSE_sendMessageUsingMemoryData (T_ASC_Association *association, T_ASC_PresentationContextID presID, T_DIMSE_Message *msg, DcmDataset *statusDetail, DcmDataset *dataObject, DIMSE_ProgressCallback callback, void *callbackContext, DcmDataset **commandSet=NULL)
 send a DIMSE command and possibly also instance data from a data object via network to another DICOM application. More...
 
DCMTK_DCMNET_EXPORT OFCondition DIMSE_receiveCommand (T_ASC_Association *association, T_DIMSE_BlockingMode blocking, int timeout, T_ASC_PresentationContextID *presID, T_DIMSE_Message *msg, DcmDataset **statusDetail, DcmDataset **commandSet=NULL)
 receive a DIMSE command via network from another DICOM application. More...
 
DCMTK_DCMNET_EXPORT OFCondition DIMSE_receiveDataSetInMemory (T_ASC_Association *association, T_DIMSE_BlockingMode blocking, int timeout, T_ASC_PresentationContextID *presID, DcmDataset **dataObject, DIMSE_ProgressCallback callback, void *callbackContext)
 receive one data set (of instance data) via network from another DICOM application and store in memory More...
 
DCMTK_DCMNET_EXPORT OFCondition DIMSE_createFilestream (const OFFilename &filename, const T_DIMSE_C_StoreRQ *request, const T_ASC_Association *assoc, T_ASC_PresentationContextID presIdCmd, int writeMetaheader, DcmOutputFileStream **filestream)
 create a DICOM file, populate the meta-header from the content of the given C-STORE request, and return an ouput stream that can be used to store the dataset associated with the C-STORE request message. More...
 
DCMTK_DCMNET_EXPORT OFCondition DIMSE_receiveDataSetInFile (T_ASC_Association *assoc, T_DIMSE_BlockingMode blocking, int timeout, T_ASC_PresentationContextID *presID, DcmOutputStream *filestream, DIMSE_ProgressCallback callback, void *callbackData)
 receive one data set (of instance data) via network from another DICOM application and store in file. More...
 
DCMTK_DCMNET_EXPORT OFCondition DIMSE_ignoreDataSet (T_ASC_Association *assoc, T_DIMSE_BlockingMode blocking, int timeout, DIC_UL *bytesRead, DIC_UL *pdvCount)
 receive and discard one data set (of instance data) via network from another DICOM application. More...
 

Variables

DCMTK_DCMNET_EXPORT OFGlobal< OFBool > dcmPeerRequiresExactUIDCopy
 Global flag to enable/disable workaround code for some buggy Store SCUs in DIMSE_storeProvider(). More...
 
DCMTK_DCMNET_EXPORT OFGlobal< Uint32 > dcmMaxOutgoingPDUSize
 global flag allowing to restrict the maximum size of outgoing P-DATA PDUs to a value less than the maximum supported by the remote application entity or this library. More...
 

Detailed Description

type definitions, constants, global variables and functions for the dcmnet/dimse module


Class Documentation

◆ T_DIMSE_C_StoreRQ

struct T_DIMSE_C_StoreRQ

◆ T_DIMSE_C_StoreRSP

struct T_DIMSE_C_StoreRSP

◆ T_DIMSE_C_EchoRQ

struct T_DIMSE_C_EchoRQ

◆ T_DIMSE_C_EchoRSP

struct T_DIMSE_C_EchoRSP

◆ T_DIMSE_C_FindRQ

struct T_DIMSE_C_FindRQ

◆ T_DIMSE_C_FindRSP

struct T_DIMSE_C_FindRSP

◆ T_DIMSE_C_GetRQ

struct T_DIMSE_C_GetRQ

◆ T_DIMSE_C_GetRSP

struct T_DIMSE_C_GetRSP

◆ T_DIMSE_C_MoveRQ

struct T_DIMSE_C_MoveRQ

◆ T_DIMSE_C_MoveRSP

struct T_DIMSE_C_MoveRSP

◆ T_DIMSE_C_CancelRQ

struct T_DIMSE_C_CancelRQ

◆ T_DIMSE_N_EventReportRQ

struct T_DIMSE_N_EventReportRQ

◆ T_DIMSE_N_EventReportRSP

struct T_DIMSE_N_EventReportRSP

◆ T_DIMSE_N_GetRQ

struct T_DIMSE_N_GetRQ

◆ T_DIMSE_N_GetRSP

struct T_DIMSE_N_GetRSP

◆ T_DIMSE_N_SetRQ

struct T_DIMSE_N_SetRQ

◆ T_DIMSE_N_SetRSP

struct T_DIMSE_N_SetRSP

◆ T_DIMSE_N_ActionRQ

struct T_DIMSE_N_ActionRQ

◆ T_DIMSE_N_ActionRSP

struct T_DIMSE_N_ActionRSP

◆ T_DIMSE_N_CreateRQ

struct T_DIMSE_N_CreateRQ

◆ T_DIMSE_N_CreateRSP

struct T_DIMSE_N_CreateRSP

◆ T_DIMSE_N_DeleteRQ

struct T_DIMSE_N_DeleteRQ

◆ T_DIMSE_N_DeleteRSP

struct T_DIMSE_N_DeleteRSP

◆ T_DIMSE_Message

struct T_DIMSE_Message

◆ T_DIMSE_StoreProgress

struct T_DIMSE_StoreProgress

◆ T_DIMSE_DetectedCancelParameters

struct T_DIMSE_DetectedCancelParameters

◆ T_DIMSE_Message.msg

union T_DIMSE_Message.msg

Function Documentation

◆ DIMSE_createFilestream()

DCMTK_DCMNET_EXPORT OFCondition DIMSE_createFilestream ( const OFFilename filename,
const T_DIMSE_C_StoreRQ request,
const T_ASC_Association assoc,
T_ASC_PresentationContextID  presIdCmd,
int  writeMetaheader,
DcmOutputFileStream **  filestream 
)

create a DICOM file, populate the meta-header from the content of the given C-STORE request, and return an ouput stream that can be used to store the dataset associated with the C-STORE request message.

This function is used in conjunction with DIMSE_receiveDataSetInFile() to directly "stream" incoming DICOM datasets to file without storing them in memory and without passing them through the dcmdata parser.

Parameters
filenamefilename of file to be created
requestC-STORE request message from which the meta-header is populated
assocassociation network association over which the C-STORE request was received. Used to populate the aetitles in the metaheader.
presIdCmdpresentation context ID of the C-STORE message, determines the transfer syntax
writeMetaheaderwrite file with/without metaheader
filestreampointer to output stream returned in this variable upon success.
Returns
EC_Normal if successful, an error code otherwise.

◆ DIMSE_ignoreDataSet()

DCMTK_DCMNET_EXPORT OFCondition DIMSE_ignoreDataSet ( T_ASC_Association assoc,
T_DIMSE_BlockingMode  blocking,
int  timeout,
DIC_UL *  bytesRead,
DIC_UL *  pdvCount 
)

receive and discard one data set (of instance data) via network from another DICOM application.

Parameters
assocThe association (network connection to another DICOM application).
blockingThe blocking mode for receiving data (either DIMSE_BLOCKING or DIMSE_NONBLOCKING)
timeoutTimeout interval for receiving data (if the blocking mode is DIMSE_NONBLOCKING).
bytesRead[out] number of bytes read
pdvCount[out] number of PDVs read
Returns
EC_Normal if successful, an error code otherwise.

◆ DIMSE_receiveCommand()

DCMTK_DCMNET_EXPORT OFCondition DIMSE_receiveCommand ( T_ASC_Association association,
T_DIMSE_BlockingMode  blocking,
int  timeout,
T_ASC_PresentationContextID *  presID,
T_DIMSE_Message msg,
DcmDataset **  statusDetail,
DcmDataset **  commandSet = NULL 
)

receive a DIMSE command via network from another DICOM application.

Parameters
assocThe association (network connection to another DICOM application).
blockingThe blocking mode for reading data (either DIMSE_BLOCKING or DIMSE_NONBLOCKING)
timeoutTimeout interval for receiving data. If the blocking mode is DIMSE_NONBLOCKING and we are trying to read data from the incoming socket stream and no data has been received after timeout seconds, an error will be reported.
presId[out] Contains in the end the ID of the presentation context which was specified in the DIMSE command.
msg[out] Contains in the end information which represents a certain DIMSE command which was received.
statusDetail[out] If a non-NULL value is passed this variable will in the end contain detailed information with regard to the status information which is captured in the status element (0000,0900). Note that the value for element (0000,0900) is not contained in this return value but in msg. For details on the structure of this object, see DICOM standard (year 2000) part 7, annex C) (or the corresponding section in a later version of the standard.)
commandSet[out] If this parameter is not NULL it will return a copy of the DIMSE command which was received from the other DICOM application.
Returns
EC_Normal if successful, an error code otherwise.

◆ DIMSE_receiveDataSetInFile()

DCMTK_DCMNET_EXPORT OFCondition DIMSE_receiveDataSetInFile ( T_ASC_Association assoc,
T_DIMSE_BlockingMode  blocking,
int  timeout,
T_ASC_PresentationContextID *  presID,
DcmOutputStream filestream,
DIMSE_ProgressCallback  callback,
void *  callbackData 
)

receive one data set (of instance data) via network from another DICOM application and store in file.

Parameters
assocThe association (network connection to another DICOM application).
blockingThe blocking mode for receiving data (either DIMSE_BLOCKING or DIMSE_NONBLOCKING)
timeoutTimeout interval for receiving data (if the blocking mode is DIMSE_NONBLOCKING).
presID[out] Contains in the end the ID of the presentation context which was used in the PDVs that were received on the network. If the PDVs show different presentation context IDs, this function will return an error.
filestreamoutput stream to which the incoming dataset is written
dataObject[out] Contains in the end the information which was received over the network. Note that this function assumes that either imageFileName or imageDataSet does not equal NULL.
callbackPointer to a function which shall be called to indicate progress.
callbackDataPointer to data which shall be passed to the progress indicating function
Returns
EC_Normal if successful, an error code otherwise.

◆ DIMSE_receiveDataSetInMemory()

DCMTK_DCMNET_EXPORT OFCondition DIMSE_receiveDataSetInMemory ( T_ASC_Association association,
T_DIMSE_BlockingMode  blocking,
int  timeout,
T_ASC_PresentationContextID *  presID,
DcmDataset **  dataObject,
DIMSE_ProgressCallback  callback,
void *  callbackContext 
)

receive one data set (of instance data) via network from another DICOM application and store in memory

Parameters
assocThe association (network connection to another DICOM application).
blockingThe blocking mode for receiving data (either DIMSE_BLOCKING or DIMSE_NONBLOCKING)
timeoutTimeout interval for receiving data (if the blocking mode is DIMSE_NONBLOCKING).
presID[out] Contains in the end the ID of the presentation context which was used in the PDVs that were received on the network. If the PDVs show different presentation context IDs, this function will return an error.
dataObject[out] Contains in the end the information which was received over the network. Note that this function assumes that either imageFileName or imageDataSet does not equal NULL.
callbackPointer to a function which shall be called to indicate progress.
callbackDataPointer to data which shall be passed to the progress indicating function
Returns
EC_Normal if successful, an error code otherwise.

◆ DIMSE_sendMessageUsingFileData()

DCMTK_DCMNET_EXPORT OFCondition DIMSE_sendMessageUsingFileData ( T_ASC_Association association,
T_ASC_PresentationContextID  presID,
T_DIMSE_Message msg,
DcmDataset statusDetail,
const char *  dataFileName,
DIMSE_ProgressCallback  callback,
void *  callbackContext,
DcmDataset **  commandSet = NULL 
)

send a DIMSE command and possibly also instance data from a file via network to another DICOM application.

Parameters
assocThe association (network connection to another DICOM application).
presIdThe ID of the presentation context which shall be used
msgStructure that represents a certain DIMSE command which shall be sent.
statusDetailDetailed information with regard to the status information which is captured in the status element (0000,0900). Note that the value for element (0000,0900) is contained in this variable.
dataFileNameThe name of the file that contains the instance data which shall be sent to the other DICOM application, NULL; if there is none.
callbackPointer to a function which shall be called to indicate progress.
callbackContextpointer to opaque object passed to the callback
commandSet[out] If this parameter is not NULL it will return a copy of the DIMSE command which is sent to the other DICOM application.
Returns
EC_Normal if successful, an error code otherwise.

◆ DIMSE_sendMessageUsingMemoryData()

DCMTK_DCMNET_EXPORT OFCondition DIMSE_sendMessageUsingMemoryData ( T_ASC_Association association,
T_ASC_PresentationContextID  presID,
T_DIMSE_Message msg,
DcmDataset statusDetail,
DcmDataset dataObject,
DIMSE_ProgressCallback  callback,
void *  callbackContext,
DcmDataset **  commandSet = NULL 
)

send a DIMSE command and possibly also instance data from a data object via network to another DICOM application.

Parameters
assocThe association (network connection to another DICOM application).
presIdThe ID of the presentation context which shall be used
msgStructure that represents a certain DIMSE command which shall be sent.
statusDetailDetailed information with regard to the status information which is captured in the status element (0000,0900). Note that the value for element (0000,0900) is contained in this variable.
dataObjectThe instance data which shall be sent to the other DICOM application, NULL, if there is none
callbackPointer to a function which shall be called to indicate progress.
callbackContextpointer to opaque object passed to the callback
commandSet[out] If this parameter is not NULL it will return a copy of the DIMSE command which is sent to the other DICOM application.
Returns
EC_Normal if successful, an error code otherwise.

Variable Documentation

◆ dcmMaxOutgoingPDUSize

DCMTK_DCMNET_EXPORT OFGlobal<Uint32> dcmMaxOutgoingPDUSize
extern

global flag allowing to restrict the maximum size of outgoing P-DATA PDUs to a value less than the maximum supported by the remote application entity or this library.

May be useful if there is an interaction between PDU size and other network layers, e. g. TLS, IP or below.

◆ dcmPeerRequiresExactUIDCopy

DCMTK_DCMNET_EXPORT OFGlobal<OFBool> dcmPeerRequiresExactUIDCopy
extern

Global flag to enable/disable workaround code for some buggy Store SCUs in DIMSE_storeProvider().

If enabled, an illegal space-padding in the Affected SOP Instance UID field of the C-STORE-RQ message is retained in the corresponding C-STORE-RSP message. To enable the workaround, this flag must be set to OFTrue and dcmEnableAutomaticInputDataCorrection must be set to OFFalse (see declaration in dcmdata/include/dcobject.h).


Generated on Fri Apr 19 2024 for DCMTK Version 3.6.7 by Doxygen 1.9.4