DCMTK Version 3.7.0 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 output 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 output 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

  filename | filename of file to be created
  request | C-STORE request message from which the meta-header is populated
  assoc | association network association over which the C-STORE request was received. Used to populate the aetitles in the metaheader.
  presIdCmd | presentation context ID of the C-STORE message, determines the transfer syntax
  writeMetaheader | write file with/without metaheader
  filestream | pointer 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

  assoc | The association (network connection to another DICOM application).
  blocking | The blocking mode for receiving data (either DIMSE_BLOCKING or DIMSE_NONBLOCKING)
  timeout | Timeout 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

  assoc | The association (network connection to another DICOM application).
  blocking | The blocking mode for reading data (either DIMSE_BLOCKING or DIMSE_NONBLOCKING)
  timeout | Timeout 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

  assoc | The association (network connection to another DICOM application).
  blocking | The blocking mode for receiving data (either DIMSE_BLOCKING or DIMSE_NONBLOCKING)
  timeout | Timeout 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.
  filestream | output 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.
  callback | Pointer to a function which shall be called to indicate progress.
  callbackData | Pointer 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

  assoc | The association (network connection to another DICOM application).
  blocking | The blocking mode for receiving data (either DIMSE_BLOCKING or DIMSE_NONBLOCKING)
  timeout | Timeout 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.
  callback | Pointer to a function which shall be called to indicate progress.
  callbackData | Pointer 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

  assoc | The association (network connection to another DICOM application).
  presId | The ID of the presentation context which shall be used
  msg | Structure that represents a certain DIMSE command which shall be sent.
  statusDetail | 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 contained in this variable.
  dataFileName | The name of the file that contains the instance data which shall be sent to the other DICOM application, NULL; if there is none.
  callback | Pointer to a function which shall be called to indicate progress.
  callbackContext | pointer 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

  assoc | The association (network connection to another DICOM application).
  presId | The ID of the presentation context which shall be used
  msg | Structure that represents a certain DIMSE command which shall be sent.
  statusDetail | 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 contained in this variable.
  dataObject | The instance data which shall be sent to the other DICOM application, NULL, if there is none
  callback | Pointer to a function which shall be called to indicate progress.
  callbackContext | pointer 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 Mon Dec 15 2025 for DCMTK Version 3.7.0 by Doxygen 1.9.1