📄 dicom_services.h
字号:
/* Copyright (C) 1993, 1994, RSNA and Washington University The software and supporting documentation for the Radiological Society of North America (RSNA) 1993, 1994 Digital Imaging and Communications in Medicine (DICOM) Demonstration were developed at the Electronic Radiology Laboratory Mallinckrodt Institute of Radiology Washington University School of Medicine 510 S. Kingshighway Blvd. St. Louis, MO 63110 as part of the 1993, 1994 DICOM Central Test Node project for, and under contract with, the Radiological Society of North America. THIS SOFTWARE IS MADE AVAILABLE, AS IS, AND NEITHER RSNA NOR WASHINGTON UNIVERSITY MAKE ANY WARRANTY ABOUT THE SOFTWARE, ITS PERFORMANCE, ITS MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR USE, FREEDOM FROM ANY COMPUTER DISEASES OR ITS CONFORMITY TO ANY SPECIFICATION. THE ENTIRE RISK AS TO QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH THE USER. Copyright of the software and supporting documentation is jointly owned by RSNA and Washington University, and free access is hereby granted as a license to use this software, copy this software and prepare derivative works based upon this software. However, any distribution of this software source code or supporting documentation or derivative works (source code and supporting documentation) must include the three paragraphs of the copyright notice.*//* Copyright marker. Copyright will be inserted above. Do not remove *//*** DICOM 93** Electronic Radiology Laboratory** Mallinckrodt Institute of Radiology** Washington University School of Medicine**** Module Name(s):** Author, Date: Stephen M. Moore, 15-Apr-93** Intent: This is the include file for the DICOM SERVICES** facility. This facility provides functions for** implementing the services which are defined in** Part 4 of the DICOM standard. This file defines** constants required for that facility and function** prototypes.** Last Update: $Author: smm $, $Date: 2001/01/03 21:33:16 $** Source File: $RCSfile: dicom_services.h,v $** Revision: $Revision: 1.37 $** Status: $State: Exp $*/#ifndef DICOM_SERVICES_IS_IN#define DICOM_SERVICES_IS_IN 1#ifdef __cplusplusextern "C" {#endif/* Define the function prototypes for this set of routines.** The first set defines initialization routines for using these** services as a user or provider.*/CONDITIONSRV_AcceptServiceClass(DUL_PRESENTATIONCONTEXT * requestedCtx, DUL_SC_ROLE role, DUL_ASSOCIATESERVICEPARAMETERS * params);CONDITIONSRV_AcceptSOPClass(DUL_PRESENTATIONCONTEXT * requestedCtx, DUL_SC_ROLE role, DUL_ASSOCIATESERVICEPARAMETERS * params, char** xferSyntaxes, int xferSyntaxCount, int isStorageClass);CONDITIONSRV_RejectServiceClass(DUL_PRESENTATIONCONTEXT * requestedCtx, unsigned short result, DUL_ASSOCIATESERVICEPARAMETERS * params);CONDITIONSRV_RequestServiceClass(const char *SOPClass, DUL_SC_ROLE role, DUL_ASSOCIATESERVICEPARAMETERS * params);CONDITIONSRV_RegisterSOPClass(const char *SOPClass, DUL_SC_ROLE role, DUL_ASSOCIATESERVICEPARAMETERS * params);CONDITIONSRV_ProposeSOPClassWithXfer(const char*SOPClass, DUL_SC_ROLE role, char** xferSyntaxes, int xferSyntaxCount, int isStorageClass, DUL_ASSOCIATESERVICEPARAMETERS* params);CONDITIONSRV_ReceiveCommand(DUL_ASSOCIATIONKEY ** association, DUL_ASSOCIATESERVICEPARAMETERS * params, DUL_BLOCKOPTIONS block, int timeout, DUL_PRESENTATIONCONTEXTID * ctxId, unsigned short *command, MSG_TYPE * messageType, void **messageArg);CONDITIONSRV_TestForCancel(DUL_ASSOCIATIONKEY ** association, DUL_BLOCKOPTIONS block, int timeout, DUL_PRESENTATIONCONTEXTID ctxID, unsigned short *command, MSG_TYPE * messageType, void **messageArg);CONDITIONSRV_ReceiveDataSet(DUL_ASSOCIATIONKEY ** association, DUL_PRESENTATIONCONTEXT * presentationCtx, DUL_BLOCKOPTIONS block, int timeout, char *dirName, DCM_OBJECT ** dataSet);CONDITIONSRV_SendCommand(DUL_ASSOCIATIONKEY ** association, DUL_PRESENTATIONCONTEXT * context, DCM_OBJECT ** object);CONDITIONSRV_SendDataSet(DUL_ASSOCIATIONKEY ** association, DUL_PRESENTATIONCONTEXT * context, DCM_OBJECT ** object, CONDITION(*callback) (), void *callbackCtx, unsigned long length);char *SRV_Message(CONDITION cond);void SRV_Debug(CTNBOOLEAN flag);/*** Prototypes for two functions which keep track of message IDs** in a global context.*/unsigned short SRV_MessageIDOut(void);void SRV_MessageIDIn(unsigned short messageID);/* Now, define the prototypes for the various classes of services.*/typedefCONDITION(SRV_C_ECHO_REQ_CALLBACK) (MSG_C_ECHO_REQ * echoRequest, MSG_C_ECHO_RESP * echoResonse, void *ctx);CONDITIONSRV_CEchoRequest(DUL_ASSOCIATIONKEY ** association, DUL_ASSOCIATESERVICEPARAMETERS * params, MSG_C_ECHO_REQ * echoRequest, MSG_C_ECHO_RESP * echoResponse, SRV_C_ECHO_REQ_CALLBACK * cEchoCallback, void *ctx, char *dirName);typedefCONDITION(SRV_C_ECHO_RESP_CALLBACK) (MSG_C_ECHO_REQ * echoRequest, MSG_C_ECHO_RESP * echoResonse, void *ctx, DUL_PRESENTATIONCONTEXT * pc);CONDITIONSRV_CEchoResponse(DUL_ASSOCIATIONKEY ** association, DUL_PRESENTATIONCONTEXT * presentationCtx, MSG_C_ECHO_REQ ** echoRequest, MSG_C_ECHO_RESP * echoReply, SRV_C_ECHO_RESP_CALLBACK * cEchoCallback, void *ctx, char *dirName);typedefCONDITION(SRV_C_STORE_REQ_CALLBACK) (MSG_C_STORE_REQ * storeRequest, MSG_C_STORE_RESP * storeResonse, unsigned long bytesTransmitted, unsigned long totalBytes, void *ctx);CONDITIONSRV_CStoreRequest(DUL_ASSOCIATIONKEY ** association, DUL_ASSOCIATESERVICEPARAMETERS * params, MSG_C_STORE_REQ * storeRequest, MSG_C_STORE_RESP * storeResponse, SRV_C_STORE_REQ_CALLBACK * callback, void *callbackCtx, char *dirName);typedefCONDITION(SRV_C_STORE_RESP_CALLBACK) (MSG_C_STORE_REQ * storeRequest, MSG_C_STORE_RESP * storeResonse, unsigned long bytesTransmitted, unsigned long totalBytes, DCM_OBJECT ** object, void *callerCtx, DUL_PRESENTATIONCONTEXT * pc);CONDITIONSRV_CStoreResponse(DUL_ASSOCIATIONKEY ** association, DUL_PRESENTATIONCONTEXT * ctx, MSG_C_STORE_REQ ** storeRequest, MSG_C_STORE_RESP * storeReply, char *filename, SRV_C_STORE_RESP_CALLBACK * callback, void *callbackCtx, char *dirName);typedefCONDITION(SRV_C_MOVE_REQ_CALLBACK) (MSG_C_MOVE_REQ * moveRequest, MSG_C_MOVE_RESP * moveResonse, int responseCount, char *abstractSyntax, char *queryLevel, void *ctx);CONDITIONSRV_CMoveRequest(DUL_ASSOCIATIONKEY ** association, DUL_ASSOCIATESERVICEPARAMETERS * params, MSG_C_MOVE_REQ * moveRequest, MSG_C_MOVE_RESP * moveResponse, SRV_C_MOVE_REQ_CALLBACK * statusCallback, void *statusCtx, char *dirName);typedefCONDITION(SRV_C_MOVE_RESP_CALLBACK) (MSG_C_MOVE_REQ * moveRequest, MSG_C_MOVE_RESP * moveResonse, int responseCount, char *abstractSyntax, char *queryLevel, void *ctx);CONDITIONSRV_CMoveResponse(DUL_ASSOCIATIONKEY ** association, DUL_PRESENTATIONCONTEXT * ctx, MSG_C_MOVE_REQ ** moveRequest, MSG_C_MOVE_RESP * moveResponse, SRV_C_MOVE_REQ_CALLBACK * nextFileCallback, void *nextImageCtx, char *dirName);typedefCONDITION(SRV_C_GET_REQ_CALLBACK) (MSG_C_GET_REQ * getRequest, MSG_C_GET_RESP * getResonse, int responseCount, char *abstractSyntax, char *queryLevel, void *ctx);CONDITIONSRV_CGetRequest(DUL_ASSOCIATIONKEY ** association, DUL_ASSOCIATESERVICEPARAMETERS * params, MSG_C_GET_REQ * getRequest, MSG_C_GET_RESP * getResponse, SRV_C_GET_REQ_CALLBACK * getCallback, void *getCtx, CONDITION(*storageCallback) (), void *storageCtx, char *dirName);typedefCONDITION(SRV_C_GET_RESP_CALLBACK) (MSG_C_GET_REQ * getRequest, MSG_C_GET_RESP * getResonse, MSG_C_STORE_REQ * storeRequest, MSG_C_STORE_RESP * storeResponse, int responseCount, char *abstractSyntax, char *queryLevel, void *ctx);CONDITIONSRV_CGetResponse(DUL_ASSOCIATIONKEY ** association, DUL_ASSOCIATESERVICEPARAMETERS * params, DUL_PRESENTATIONCONTEXT * ctx, MSG_C_GET_REQ ** getRequest, MSG_C_GET_RESP * getResponse, SRV_C_GET_RESP_CALLBACK * nextFileCallback, void *nextImageCtx, char *dirName);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -