orthanc_plugin_bindings/
bindings.rs

1/* automatically generated by rust-bindgen 0.63.0 */
2
3#[doc = "< Internal error"]
4pub const OrthancPluginErrorCode_OrthancPluginErrorCode_InternalError: OrthancPluginErrorCode = -1;
5#[doc = "< Success"]
6pub const OrthancPluginErrorCode_OrthancPluginErrorCode_Success: OrthancPluginErrorCode = 0;
7#[doc = "< Error encountered within the plugin engine"]
8pub const OrthancPluginErrorCode_OrthancPluginErrorCode_Plugin: OrthancPluginErrorCode = 1;
9#[doc = "< Not implemented yet"]
10pub const OrthancPluginErrorCode_OrthancPluginErrorCode_NotImplemented: OrthancPluginErrorCode = 2;
11#[doc = "< Parameter out of range"]
12pub const OrthancPluginErrorCode_OrthancPluginErrorCode_ParameterOutOfRange:
13    OrthancPluginErrorCode = 3;
14#[doc = "< The server hosting Orthanc is running out of memory"]
15pub const OrthancPluginErrorCode_OrthancPluginErrorCode_NotEnoughMemory: OrthancPluginErrorCode = 4;
16#[doc = "< Bad type for a parameter"]
17pub const OrthancPluginErrorCode_OrthancPluginErrorCode_BadParameterType: OrthancPluginErrorCode =
18    5;
19#[doc = "< Bad sequence of calls"]
20pub const OrthancPluginErrorCode_OrthancPluginErrorCode_BadSequenceOfCalls: OrthancPluginErrorCode =
21    6;
22#[doc = "< Accessing an inexistent item"]
23pub const OrthancPluginErrorCode_OrthancPluginErrorCode_InexistentItem: OrthancPluginErrorCode = 7;
24#[doc = "< Bad request"]
25pub const OrthancPluginErrorCode_OrthancPluginErrorCode_BadRequest: OrthancPluginErrorCode = 8;
26#[doc = "< Error in the network protocol"]
27pub const OrthancPluginErrorCode_OrthancPluginErrorCode_NetworkProtocol: OrthancPluginErrorCode = 9;
28#[doc = "< Error while calling a system command"]
29pub const OrthancPluginErrorCode_OrthancPluginErrorCode_SystemCommand: OrthancPluginErrorCode = 10;
30#[doc = "< Error with the database engine"]
31pub const OrthancPluginErrorCode_OrthancPluginErrorCode_Database: OrthancPluginErrorCode = 11;
32#[doc = "< Badly formatted URI"]
33pub const OrthancPluginErrorCode_OrthancPluginErrorCode_UriSyntax: OrthancPluginErrorCode = 12;
34#[doc = "< Inexistent file"]
35pub const OrthancPluginErrorCode_OrthancPluginErrorCode_InexistentFile: OrthancPluginErrorCode = 13;
36#[doc = "< Cannot write to file"]
37pub const OrthancPluginErrorCode_OrthancPluginErrorCode_CannotWriteFile: OrthancPluginErrorCode =
38    14;
39#[doc = "< Bad file format"]
40pub const OrthancPluginErrorCode_OrthancPluginErrorCode_BadFileFormat: OrthancPluginErrorCode = 15;
41#[doc = "< Timeout"]
42pub const OrthancPluginErrorCode_OrthancPluginErrorCode_Timeout: OrthancPluginErrorCode = 16;
43#[doc = "< Unknown resource"]
44pub const OrthancPluginErrorCode_OrthancPluginErrorCode_UnknownResource: OrthancPluginErrorCode =
45    17;
46#[doc = "< Incompatible version of the database"]
47pub const OrthancPluginErrorCode_OrthancPluginErrorCode_IncompatibleDatabaseVersion:
48    OrthancPluginErrorCode = 18;
49#[doc = "< The file storage is full"]
50pub const OrthancPluginErrorCode_OrthancPluginErrorCode_FullStorage: OrthancPluginErrorCode = 19;
51#[doc = "< Corrupted file (e.g. inconsistent MD5 hash)"]
52pub const OrthancPluginErrorCode_OrthancPluginErrorCode_CorruptedFile: OrthancPluginErrorCode = 20;
53#[doc = "< Inexistent tag"]
54pub const OrthancPluginErrorCode_OrthancPluginErrorCode_InexistentTag: OrthancPluginErrorCode = 21;
55#[doc = "< Cannot modify a read-only data structure"]
56pub const OrthancPluginErrorCode_OrthancPluginErrorCode_ReadOnly: OrthancPluginErrorCode = 22;
57#[doc = "< Incompatible format of the images"]
58pub const OrthancPluginErrorCode_OrthancPluginErrorCode_IncompatibleImageFormat:
59    OrthancPluginErrorCode = 23;
60#[doc = "< Incompatible size of the images"]
61pub const OrthancPluginErrorCode_OrthancPluginErrorCode_IncompatibleImageSize:
62    OrthancPluginErrorCode = 24;
63#[doc = "< Error while using a shared library (plugin)"]
64pub const OrthancPluginErrorCode_OrthancPluginErrorCode_SharedLibrary: OrthancPluginErrorCode = 25;
65#[doc = "< Plugin invoking an unknown service"]
66pub const OrthancPluginErrorCode_OrthancPluginErrorCode_UnknownPluginService:
67    OrthancPluginErrorCode = 26;
68#[doc = "< Unknown DICOM tag"]
69pub const OrthancPluginErrorCode_OrthancPluginErrorCode_UnknownDicomTag: OrthancPluginErrorCode =
70    27;
71#[doc = "< Cannot parse a JSON document"]
72pub const OrthancPluginErrorCode_OrthancPluginErrorCode_BadJson: OrthancPluginErrorCode = 28;
73#[doc = "< Bad credentials were provided to an HTTP request"]
74pub const OrthancPluginErrorCode_OrthancPluginErrorCode_Unauthorized: OrthancPluginErrorCode = 29;
75#[doc = "< Badly formatted font file"]
76pub const OrthancPluginErrorCode_OrthancPluginErrorCode_BadFont: OrthancPluginErrorCode = 30;
77#[doc = "< The plugin implementing a custom database back-end does not fulfill the proper interface"]
78pub const OrthancPluginErrorCode_OrthancPluginErrorCode_DatabasePlugin: OrthancPluginErrorCode = 31;
79#[doc = "< Error in the plugin implementing a custom storage area"]
80pub const OrthancPluginErrorCode_OrthancPluginErrorCode_StorageAreaPlugin: OrthancPluginErrorCode =
81    32;
82#[doc = "< The request is empty"]
83pub const OrthancPluginErrorCode_OrthancPluginErrorCode_EmptyRequest: OrthancPluginErrorCode = 33;
84#[doc = "< Cannot send a response which is acceptable according to the Accept HTTP header"]
85pub const OrthancPluginErrorCode_OrthancPluginErrorCode_NotAcceptable: OrthancPluginErrorCode = 34;
86#[doc = "< Cannot handle a NULL pointer"]
87pub const OrthancPluginErrorCode_OrthancPluginErrorCode_NullPointer: OrthancPluginErrorCode = 35;
88#[doc = "< The database is currently not available (probably a transient situation)"]
89pub const OrthancPluginErrorCode_OrthancPluginErrorCode_DatabaseUnavailable:
90    OrthancPluginErrorCode = 36;
91#[doc = "< This job was canceled"]
92pub const OrthancPluginErrorCode_OrthancPluginErrorCode_CanceledJob: OrthancPluginErrorCode = 37;
93#[doc = "< Geometry error encountered in Stone"]
94pub const OrthancPluginErrorCode_OrthancPluginErrorCode_BadGeometry: OrthancPluginErrorCode = 38;
95#[doc = "< Cannot initialize SSL encryption, check out your certificates"]
96pub const OrthancPluginErrorCode_OrthancPluginErrorCode_SslInitialization: OrthancPluginErrorCode =
97    39;
98#[doc = "< Calling a function that has been removed from the Orthanc Framework"]
99pub const OrthancPluginErrorCode_OrthancPluginErrorCode_DiscontinuedAbi: OrthancPluginErrorCode =
100    40;
101#[doc = "< Incorrect range request"]
102pub const OrthancPluginErrorCode_OrthancPluginErrorCode_BadRange: OrthancPluginErrorCode = 41;
103#[doc = "< Database could not serialize access due to concurrent update, the transaction should be retried"]
104pub const OrthancPluginErrorCode_OrthancPluginErrorCode_DatabaseCannotSerialize:
105    OrthancPluginErrorCode = 42;
106#[doc = "< A bad revision number was provided, which might indicate conflict between multiple writers"]
107pub const OrthancPluginErrorCode_OrthancPluginErrorCode_Revision: OrthancPluginErrorCode = 43;
108#[doc = "< A main DICOM Tag has been defined multiple times for the same resource level"]
109pub const OrthancPluginErrorCode_OrthancPluginErrorCode_MainDicomTagsMultiplyDefined:
110    OrthancPluginErrorCode = 44;
111#[doc = "< SQLite: The database is not opened"]
112pub const OrthancPluginErrorCode_OrthancPluginErrorCode_SQLiteNotOpened: OrthancPluginErrorCode =
113    1000;
114#[doc = "< SQLite: Connection is already open"]
115pub const OrthancPluginErrorCode_OrthancPluginErrorCode_SQLiteAlreadyOpened:
116    OrthancPluginErrorCode = 1001;
117#[doc = "< SQLite: Unable to open the database"]
118pub const OrthancPluginErrorCode_OrthancPluginErrorCode_SQLiteCannotOpen: OrthancPluginErrorCode =
119    1002;
120#[doc = "< SQLite: This cached statement is already being referred to"]
121pub const OrthancPluginErrorCode_OrthancPluginErrorCode_SQLiteStatementAlreadyUsed:
122    OrthancPluginErrorCode = 1003;
123#[doc = "< SQLite: Cannot execute a command"]
124pub const OrthancPluginErrorCode_OrthancPluginErrorCode_SQLiteExecute: OrthancPluginErrorCode =
125    1004;
126#[doc = "< SQLite: Rolling back a nonexistent transaction (have you called Begin()?)"]
127pub const OrthancPluginErrorCode_OrthancPluginErrorCode_SQLiteRollbackWithoutTransaction:
128    OrthancPluginErrorCode = 1005;
129#[doc = "< SQLite: Committing a nonexistent transaction"]
130pub const OrthancPluginErrorCode_OrthancPluginErrorCode_SQLiteCommitWithoutTransaction:
131    OrthancPluginErrorCode = 1006;
132#[doc = "< SQLite: Unable to register a function"]
133pub const OrthancPluginErrorCode_OrthancPluginErrorCode_SQLiteRegisterFunction:
134    OrthancPluginErrorCode = 1007;
135#[doc = "< SQLite: Unable to flush the database"]
136pub const OrthancPluginErrorCode_OrthancPluginErrorCode_SQLiteFlush: OrthancPluginErrorCode = 1008;
137#[doc = "< SQLite: Cannot run a cached statement"]
138pub const OrthancPluginErrorCode_OrthancPluginErrorCode_SQLiteCannotRun: OrthancPluginErrorCode =
139    1009;
140#[doc = "< SQLite: Cannot step over a cached statement"]
141pub const OrthancPluginErrorCode_OrthancPluginErrorCode_SQLiteCannotStep: OrthancPluginErrorCode =
142    1010;
143#[doc = "< SQLite: Bing a value while out of range (serious error)"]
144pub const OrthancPluginErrorCode_OrthancPluginErrorCode_SQLiteBindOutOfRange:
145    OrthancPluginErrorCode = 1011;
146#[doc = "< SQLite: Cannot prepare a cached statement"]
147pub const OrthancPluginErrorCode_OrthancPluginErrorCode_SQLitePrepareStatement:
148    OrthancPluginErrorCode = 1012;
149#[doc = "< SQLite: Beginning the same transaction twice"]
150pub const OrthancPluginErrorCode_OrthancPluginErrorCode_SQLiteTransactionAlreadyStarted:
151    OrthancPluginErrorCode = 1013;
152#[doc = "< SQLite: Failure when committing the transaction"]
153pub const OrthancPluginErrorCode_OrthancPluginErrorCode_SQLiteTransactionCommit:
154    OrthancPluginErrorCode = 1014;
155#[doc = "< SQLite: Cannot start a transaction"]
156pub const OrthancPluginErrorCode_OrthancPluginErrorCode_SQLiteTransactionBegin:
157    OrthancPluginErrorCode = 1015;
158#[doc = "< The directory to be created is already occupied by a regular file"]
159pub const OrthancPluginErrorCode_OrthancPluginErrorCode_DirectoryOverFile: OrthancPluginErrorCode =
160    2000;
161#[doc = "< Unable to create a subdirectory or a file in the file storage"]
162pub const OrthancPluginErrorCode_OrthancPluginErrorCode_FileStorageCannotWrite:
163    OrthancPluginErrorCode = 2001;
164#[doc = "< The specified path does not point to a directory"]
165pub const OrthancPluginErrorCode_OrthancPluginErrorCode_DirectoryExpected: OrthancPluginErrorCode =
166    2002;
167#[doc = "< The TCP port of the HTTP server is privileged or already in use"]
168pub const OrthancPluginErrorCode_OrthancPluginErrorCode_HttpPortInUse: OrthancPluginErrorCode =
169    2003;
170#[doc = "< The TCP port of the DICOM server is privileged or already in use"]
171pub const OrthancPluginErrorCode_OrthancPluginErrorCode_DicomPortInUse: OrthancPluginErrorCode =
172    2004;
173#[doc = "< This HTTP status is not allowed in a REST API"]
174pub const OrthancPluginErrorCode_OrthancPluginErrorCode_BadHttpStatusInRest:
175    OrthancPluginErrorCode = 2005;
176#[doc = "< The specified path does not point to a regular file"]
177pub const OrthancPluginErrorCode_OrthancPluginErrorCode_RegularFileExpected:
178    OrthancPluginErrorCode = 2006;
179#[doc = "< Unable to get the path to the executable"]
180pub const OrthancPluginErrorCode_OrthancPluginErrorCode_PathToExecutable: OrthancPluginErrorCode =
181    2007;
182#[doc = "< Cannot create a directory"]
183pub const OrthancPluginErrorCode_OrthancPluginErrorCode_MakeDirectory: OrthancPluginErrorCode =
184    2008;
185#[doc = "< An application entity title (AET) cannot be empty or be longer than 16 characters"]
186pub const OrthancPluginErrorCode_OrthancPluginErrorCode_BadApplicationEntityTitle:
187    OrthancPluginErrorCode = 2009;
188#[doc = "< No request handler factory for DICOM C-FIND SCP"]
189pub const OrthancPluginErrorCode_OrthancPluginErrorCode_NoCFindHandler: OrthancPluginErrorCode =
190    2010;
191#[doc = "< No request handler factory for DICOM C-MOVE SCP"]
192pub const OrthancPluginErrorCode_OrthancPluginErrorCode_NoCMoveHandler: OrthancPluginErrorCode =
193    2011;
194#[doc = "< No request handler factory for DICOM C-STORE SCP"]
195pub const OrthancPluginErrorCode_OrthancPluginErrorCode_NoCStoreHandler: OrthancPluginErrorCode =
196    2012;
197#[doc = "< No application entity filter"]
198pub const OrthancPluginErrorCode_OrthancPluginErrorCode_NoApplicationEntityFilter:
199    OrthancPluginErrorCode = 2013;
200#[doc = "< DicomUserConnection: Unable to find the SOP class and instance"]
201pub const OrthancPluginErrorCode_OrthancPluginErrorCode_NoSopClassOrInstance:
202    OrthancPluginErrorCode = 2014;
203#[doc = "< DicomUserConnection: No acceptable presentation context for modality"]
204pub const OrthancPluginErrorCode_OrthancPluginErrorCode_NoPresentationContext:
205    OrthancPluginErrorCode = 2015;
206#[doc = "< DicomUserConnection: The C-FIND command is not supported by the remote SCP"]
207pub const OrthancPluginErrorCode_OrthancPluginErrorCode_DicomFindUnavailable:
208    OrthancPluginErrorCode = 2016;
209#[doc = "< DicomUserConnection: The C-MOVE command is not supported by the remote SCP"]
210pub const OrthancPluginErrorCode_OrthancPluginErrorCode_DicomMoveUnavailable:
211    OrthancPluginErrorCode = 2017;
212#[doc = "< Cannot store an instance"]
213pub const OrthancPluginErrorCode_OrthancPluginErrorCode_CannotStoreInstance:
214    OrthancPluginErrorCode = 2018;
215#[doc = "< Only string values are supported when creating DICOM instances"]
216pub const OrthancPluginErrorCode_OrthancPluginErrorCode_CreateDicomNotString:
217    OrthancPluginErrorCode = 2019;
218#[doc = "< Trying to override a value inherited from a parent module"]
219pub const OrthancPluginErrorCode_OrthancPluginErrorCode_CreateDicomOverrideTag:
220    OrthancPluginErrorCode = 2020;
221#[doc = "< Use \\\"Content\\\" to inject an image into a new DICOM instance"]
222pub const OrthancPluginErrorCode_OrthancPluginErrorCode_CreateDicomUseContent:
223    OrthancPluginErrorCode = 2021;
224#[doc = "< No payload is present for one instance in the series"]
225pub const OrthancPluginErrorCode_OrthancPluginErrorCode_CreateDicomNoPayload:
226    OrthancPluginErrorCode = 2022;
227#[doc = "< The payload of the DICOM instance must be specified according to Data URI scheme"]
228pub const OrthancPluginErrorCode_OrthancPluginErrorCode_CreateDicomUseDataUriScheme:
229    OrthancPluginErrorCode = 2023;
230#[doc = "< Trying to attach a new DICOM instance to an inexistent resource"]
231pub const OrthancPluginErrorCode_OrthancPluginErrorCode_CreateDicomBadParent:
232    OrthancPluginErrorCode = 2024;
233#[doc = "< Trying to attach a new DICOM instance to an instance (must be a series, study or patient)"]
234pub const OrthancPluginErrorCode_OrthancPluginErrorCode_CreateDicomParentIsInstance:
235    OrthancPluginErrorCode = 2025;
236#[doc = "< Unable to get the encoding of the parent resource"]
237pub const OrthancPluginErrorCode_OrthancPluginErrorCode_CreateDicomParentEncoding:
238    OrthancPluginErrorCode = 2026;
239#[doc = "< Unknown modality"]
240pub const OrthancPluginErrorCode_OrthancPluginErrorCode_UnknownModality: OrthancPluginErrorCode =
241    2027;
242#[doc = "< Bad ordering of filters in a job"]
243pub const OrthancPluginErrorCode_OrthancPluginErrorCode_BadJobOrdering: OrthancPluginErrorCode =
244    2028;
245#[doc = "< Cannot convert the given JSON object to a Lua table"]
246pub const OrthancPluginErrorCode_OrthancPluginErrorCode_JsonToLuaTable: OrthancPluginErrorCode =
247    2029;
248#[doc = "< Cannot create the Lua context"]
249pub const OrthancPluginErrorCode_OrthancPluginErrorCode_CannotCreateLua: OrthancPluginErrorCode =
250    2030;
251#[doc = "< Cannot execute a Lua command"]
252pub const OrthancPluginErrorCode_OrthancPluginErrorCode_CannotExecuteLua: OrthancPluginErrorCode =
253    2031;
254#[doc = "< Arguments cannot be pushed after the Lua function is executed"]
255pub const OrthancPluginErrorCode_OrthancPluginErrorCode_LuaAlreadyExecuted: OrthancPluginErrorCode =
256    2032;
257#[doc = "< The Lua function does not give the expected number of outputs"]
258pub const OrthancPluginErrorCode_OrthancPluginErrorCode_LuaBadOutput: OrthancPluginErrorCode = 2033;
259#[doc = "< The Lua function is not a predicate (only true/false outputs allowed)"]
260pub const OrthancPluginErrorCode_OrthancPluginErrorCode_NotLuaPredicate: OrthancPluginErrorCode =
261    2034;
262#[doc = "< The Lua function does not return a string"]
263pub const OrthancPluginErrorCode_OrthancPluginErrorCode_LuaReturnsNoString: OrthancPluginErrorCode =
264    2035;
265#[doc = "< Another plugin has already registered a custom storage area"]
266pub const OrthancPluginErrorCode_OrthancPluginErrorCode_StorageAreaAlreadyRegistered:
267    OrthancPluginErrorCode = 2036;
268#[doc = "< Another plugin has already registered a custom database back-end"]
269pub const OrthancPluginErrorCode_OrthancPluginErrorCode_DatabaseBackendAlreadyRegistered:
270    OrthancPluginErrorCode = 2037;
271#[doc = "< Plugin trying to call the database during its initialization"]
272pub const OrthancPluginErrorCode_OrthancPluginErrorCode_DatabaseNotInitialized:
273    OrthancPluginErrorCode = 2038;
274#[doc = "< Orthanc has been built without SSL support"]
275pub const OrthancPluginErrorCode_OrthancPluginErrorCode_SslDisabled: OrthancPluginErrorCode = 2039;
276#[doc = "< Unable to order the slices of the series"]
277pub const OrthancPluginErrorCode_OrthancPluginErrorCode_CannotOrderSlices: OrthancPluginErrorCode =
278    2040;
279#[doc = "< No request handler factory for DICOM C-Find Modality SCP"]
280pub const OrthancPluginErrorCode_OrthancPluginErrorCode_NoWorklistHandler: OrthancPluginErrorCode =
281    2041;
282#[doc = "< Cannot override the value of a tag that already exists"]
283pub const OrthancPluginErrorCode_OrthancPluginErrorCode_AlreadyExistingTag: OrthancPluginErrorCode =
284    2042;
285#[doc = "< No request handler factory for DICOM N-ACTION SCP (storage commitment)"]
286pub const OrthancPluginErrorCode_OrthancPluginErrorCode_NoStorageCommitmentHandler:
287    OrthancPluginErrorCode = 2043;
288#[doc = "< No request handler factory for DICOM C-GET SCP"]
289pub const OrthancPluginErrorCode_OrthancPluginErrorCode_NoCGetHandler: OrthancPluginErrorCode =
290    2044;
291#[doc = "< Unsupported media type"]
292pub const OrthancPluginErrorCode_OrthancPluginErrorCode_UnsupportedMediaType:
293    OrthancPluginErrorCode = 3000;
294pub const OrthancPluginErrorCode__OrthancPluginErrorCode_INTERNAL: OrthancPluginErrorCode =
295    2147483647;
296#[doc = " The various error codes that can be returned by the Orthanc core."]
297pub type OrthancPluginErrorCode = ::std::os::raw::c_int;
298extern "C" {
299    #[doc = " Forward declaration of one of the mandatory functions for Orthanc\n plugins."]
300    pub fn OrthancPluginGetName() -> *const ::std::os::raw::c_char;
301}
302#[doc = "< GET request"]
303pub const OrthancPluginHttpMethod_OrthancPluginHttpMethod_Get: OrthancPluginHttpMethod = 1;
304#[doc = "< POST request"]
305pub const OrthancPluginHttpMethod_OrthancPluginHttpMethod_Post: OrthancPluginHttpMethod = 2;
306#[doc = "< PUT request"]
307pub const OrthancPluginHttpMethod_OrthancPluginHttpMethod_Put: OrthancPluginHttpMethod = 3;
308#[doc = "< DELETE request"]
309pub const OrthancPluginHttpMethod_OrthancPluginHttpMethod_Delete: OrthancPluginHttpMethod = 4;
310pub const OrthancPluginHttpMethod__OrthancPluginHttpMethod_INTERNAL: OrthancPluginHttpMethod =
311    2147483647;
312#[doc = " The various HTTP methods for a REST call."]
313pub type OrthancPluginHttpMethod = ::std::os::raw::c_uint;
314#[doc = " @brief The parameters of a REST request.\n @ingroup Callbacks"]
315#[repr(C)]
316#[derive(Debug, Copy, Clone)]
317pub struct OrthancPluginHttpRequest {
318    #[doc = " @brief The HTTP method."]
319    pub method: OrthancPluginHttpMethod,
320    #[doc = " @brief The number of groups of the regular expression."]
321    pub groupsCount: u32,
322    #[doc = " @brief The matched values for the groups of the regular expression."]
323    pub groups: *const *const ::std::os::raw::c_char,
324    #[doc = " @brief For a GET request, the number of GET parameters."]
325    pub getCount: u32,
326    #[doc = " @brief For a GET request, the keys of the GET parameters."]
327    pub getKeys: *const *const ::std::os::raw::c_char,
328    #[doc = " @brief For a GET request, the values of the GET parameters."]
329    pub getValues: *const *const ::std::os::raw::c_char,
330    #[doc = " @brief For a PUT or POST request, the content of the body."]
331    pub body: *const ::std::os::raw::c_void,
332    #[doc = " @brief For a PUT or POST request, the number of bytes of the body."]
333    pub bodySize: u32,
334    #[doc = " @brief The number of HTTP headers."]
335    pub headersCount: u32,
336    #[doc = " @brief The keys of the HTTP headers (always converted to low-case)."]
337    pub headersKeys: *const *const ::std::os::raw::c_char,
338    #[doc = " @brief The values of the HTTP headers."]
339    pub headersValues: *const *const ::std::os::raw::c_char,
340}
341pub const _OrthancPluginService__OrthancPluginService_LogInfo: _OrthancPluginService = 1;
342pub const _OrthancPluginService__OrthancPluginService_LogWarning: _OrthancPluginService = 2;
343pub const _OrthancPluginService__OrthancPluginService_LogError: _OrthancPluginService = 3;
344pub const _OrthancPluginService__OrthancPluginService_GetOrthancPath: _OrthancPluginService = 4;
345pub const _OrthancPluginService__OrthancPluginService_GetOrthancDirectory: _OrthancPluginService =
346    5;
347pub const _OrthancPluginService__OrthancPluginService_GetConfigurationPath: _OrthancPluginService =
348    6;
349pub const _OrthancPluginService__OrthancPluginService_SetPluginProperty: _OrthancPluginService = 7;
350pub const _OrthancPluginService__OrthancPluginService_GetGlobalProperty: _OrthancPluginService = 8;
351pub const _OrthancPluginService__OrthancPluginService_SetGlobalProperty: _OrthancPluginService = 9;
352pub const _OrthancPluginService__OrthancPluginService_GetCommandLineArgumentsCount:
353    _OrthancPluginService = 10;
354pub const _OrthancPluginService__OrthancPluginService_GetCommandLineArgument:
355    _OrthancPluginService = 11;
356pub const _OrthancPluginService__OrthancPluginService_GetExpectedDatabaseVersion:
357    _OrthancPluginService = 12;
358pub const _OrthancPluginService__OrthancPluginService_GetConfiguration: _OrthancPluginService = 13;
359pub const _OrthancPluginService__OrthancPluginService_BufferCompression: _OrthancPluginService = 14;
360pub const _OrthancPluginService__OrthancPluginService_ReadFile: _OrthancPluginService = 15;
361pub const _OrthancPluginService__OrthancPluginService_WriteFile: _OrthancPluginService = 16;
362pub const _OrthancPluginService__OrthancPluginService_GetErrorDescription: _OrthancPluginService =
363    17;
364pub const _OrthancPluginService__OrthancPluginService_CallHttpClient: _OrthancPluginService = 18;
365pub const _OrthancPluginService__OrthancPluginService_RegisterErrorCode: _OrthancPluginService = 19;
366pub const _OrthancPluginService__OrthancPluginService_RegisterDictionaryTag: _OrthancPluginService =
367    20;
368pub const _OrthancPluginService__OrthancPluginService_DicomBufferToJson: _OrthancPluginService = 21;
369pub const _OrthancPluginService__OrthancPluginService_DicomInstanceToJson: _OrthancPluginService =
370    22;
371pub const _OrthancPluginService__OrthancPluginService_CreateDicom: _OrthancPluginService = 23;
372pub const _OrthancPluginService__OrthancPluginService_ComputeMd5: _OrthancPluginService = 24;
373pub const _OrthancPluginService__OrthancPluginService_ComputeSha1: _OrthancPluginService = 25;
374pub const _OrthancPluginService__OrthancPluginService_LookupDictionary: _OrthancPluginService = 26;
375pub const _OrthancPluginService__OrthancPluginService_CallHttpClient2: _OrthancPluginService = 27;
376pub const _OrthancPluginService__OrthancPluginService_GenerateUuid: _OrthancPluginService = 28;
377pub const _OrthancPluginService__OrthancPluginService_RegisterPrivateDictionaryTag:
378    _OrthancPluginService = 29;
379pub const _OrthancPluginService__OrthancPluginService_AutodetectMimeType: _OrthancPluginService =
380    30;
381pub const _OrthancPluginService__OrthancPluginService_SetMetricsValue: _OrthancPluginService = 31;
382pub const _OrthancPluginService__OrthancPluginService_EncodeDicomWebJson: _OrthancPluginService =
383    32;
384pub const _OrthancPluginService__OrthancPluginService_EncodeDicomWebXml: _OrthancPluginService = 33;
385pub const _OrthancPluginService__OrthancPluginService_ChunkedHttpClient: _OrthancPluginService = 34;
386pub const _OrthancPluginService__OrthancPluginService_GetTagName: _OrthancPluginService = 35;
387pub const _OrthancPluginService__OrthancPluginService_EncodeDicomWebJson2: _OrthancPluginService =
388    36;
389pub const _OrthancPluginService__OrthancPluginService_EncodeDicomWebXml2: _OrthancPluginService =
390    37;
391pub const _OrthancPluginService__OrthancPluginService_CreateMemoryBuffer: _OrthancPluginService =
392    38;
393pub const _OrthancPluginService__OrthancPluginService_GenerateRestApiAuthorizationToken:
394    _OrthancPluginService = 39;
395pub const _OrthancPluginService__OrthancPluginService_CreateMemoryBuffer64: _OrthancPluginService =
396    40;
397pub const _OrthancPluginService__OrthancPluginService_CreateDicom2: _OrthancPluginService = 41;
398pub const _OrthancPluginService__OrthancPluginService_RegisterRestCallback: _OrthancPluginService =
399    1000;
400pub const _OrthancPluginService__OrthancPluginService_RegisterOnStoredInstanceCallback:
401    _OrthancPluginService = 1001;
402pub const _OrthancPluginService__OrthancPluginService_RegisterStorageArea: _OrthancPluginService =
403    1002;
404pub const _OrthancPluginService__OrthancPluginService_RegisterOnChangeCallback:
405    _OrthancPluginService = 1003;
406pub const _OrthancPluginService__OrthancPluginService_RegisterRestCallbackNoLock:
407    _OrthancPluginService = 1004;
408pub const _OrthancPluginService__OrthancPluginService_RegisterWorklistCallback:
409    _OrthancPluginService = 1005;
410pub const _OrthancPluginService__OrthancPluginService_RegisterDecodeImageCallback:
411    _OrthancPluginService = 1006;
412pub const _OrthancPluginService__OrthancPluginService_RegisterIncomingHttpRequestFilter:
413    _OrthancPluginService = 1007;
414pub const _OrthancPluginService__OrthancPluginService_RegisterFindCallback: _OrthancPluginService =
415    1008;
416pub const _OrthancPluginService__OrthancPluginService_RegisterMoveCallback: _OrthancPluginService =
417    1009;
418pub const _OrthancPluginService__OrthancPluginService_RegisterIncomingHttpRequestFilter2:
419    _OrthancPluginService = 1010;
420pub const _OrthancPluginService__OrthancPluginService_RegisterRefreshMetricsCallback:
421    _OrthancPluginService = 1011;
422pub const _OrthancPluginService__OrthancPluginService_RegisterChunkedRestCallback:
423    _OrthancPluginService = 1012;
424pub const _OrthancPluginService__OrthancPluginService_RegisterStorageCommitmentScpCallback:
425    _OrthancPluginService = 1013;
426pub const _OrthancPluginService__OrthancPluginService_RegisterIncomingDicomInstanceFilter:
427    _OrthancPluginService = 1014;
428pub const _OrthancPluginService__OrthancPluginService_RegisterTranscoderCallback:
429    _OrthancPluginService = 1015;
430pub const _OrthancPluginService__OrthancPluginService_RegisterStorageArea2: _OrthancPluginService =
431    1016;
432pub const _OrthancPluginService__OrthancPluginService_RegisterIncomingCStoreInstanceFilter:
433    _OrthancPluginService = 1017;
434pub const _OrthancPluginService__OrthancPluginService_RegisterReceivedInstanceCallback:
435    _OrthancPluginService = 1018;
436pub const _OrthancPluginService__OrthancPluginService_RegisterWebDavCollection:
437    _OrthancPluginService = 1019;
438pub const _OrthancPluginService__OrthancPluginService_AnswerBuffer: _OrthancPluginService = 2000;
439pub const _OrthancPluginService__OrthancPluginService_CompressAndAnswerPngImage:
440    _OrthancPluginService = 2001;
441pub const _OrthancPluginService__OrthancPluginService_Redirect: _OrthancPluginService = 2002;
442pub const _OrthancPluginService__OrthancPluginService_SendHttpStatusCode: _OrthancPluginService =
443    2003;
444pub const _OrthancPluginService__OrthancPluginService_SendUnauthorized: _OrthancPluginService =
445    2004;
446pub const _OrthancPluginService__OrthancPluginService_SendMethodNotAllowed: _OrthancPluginService =
447    2005;
448pub const _OrthancPluginService__OrthancPluginService_SetCookie: _OrthancPluginService = 2006;
449pub const _OrthancPluginService__OrthancPluginService_SetHttpHeader: _OrthancPluginService = 2007;
450pub const _OrthancPluginService__OrthancPluginService_StartMultipartAnswer: _OrthancPluginService =
451    2008;
452pub const _OrthancPluginService__OrthancPluginService_SendMultipartItem: _OrthancPluginService =
453    2009;
454pub const _OrthancPluginService__OrthancPluginService_SendHttpStatus: _OrthancPluginService = 2010;
455pub const _OrthancPluginService__OrthancPluginService_CompressAndAnswerImage:
456    _OrthancPluginService = 2011;
457pub const _OrthancPluginService__OrthancPluginService_SendMultipartItem2: _OrthancPluginService =
458    2012;
459pub const _OrthancPluginService__OrthancPluginService_SetHttpErrorDetails: _OrthancPluginService =
460    2013;
461pub const _OrthancPluginService__OrthancPluginService_GetDicomForInstance: _OrthancPluginService =
462    3000;
463pub const _OrthancPluginService__OrthancPluginService_RestApiGet: _OrthancPluginService = 3001;
464pub const _OrthancPluginService__OrthancPluginService_RestApiPost: _OrthancPluginService = 3002;
465pub const _OrthancPluginService__OrthancPluginService_RestApiDelete: _OrthancPluginService = 3003;
466pub const _OrthancPluginService__OrthancPluginService_RestApiPut: _OrthancPluginService = 3004;
467pub const _OrthancPluginService__OrthancPluginService_LookupPatient: _OrthancPluginService = 3005;
468pub const _OrthancPluginService__OrthancPluginService_LookupStudy: _OrthancPluginService = 3006;
469pub const _OrthancPluginService__OrthancPluginService_LookupSeries: _OrthancPluginService = 3007;
470pub const _OrthancPluginService__OrthancPluginService_LookupInstance: _OrthancPluginService = 3008;
471pub const _OrthancPluginService__OrthancPluginService_LookupStudyWithAccessionNumber:
472    _OrthancPluginService = 3009;
473pub const _OrthancPluginService__OrthancPluginService_RestApiGetAfterPlugins:
474    _OrthancPluginService = 3010;
475pub const _OrthancPluginService__OrthancPluginService_RestApiPostAfterPlugins:
476    _OrthancPluginService = 3011;
477pub const _OrthancPluginService__OrthancPluginService_RestApiDeleteAfterPlugins:
478    _OrthancPluginService = 3012;
479pub const _OrthancPluginService__OrthancPluginService_RestApiPutAfterPlugins:
480    _OrthancPluginService = 3013;
481pub const _OrthancPluginService__OrthancPluginService_ReconstructMainDicomTags:
482    _OrthancPluginService = 3014;
483pub const _OrthancPluginService__OrthancPluginService_RestApiGet2: _OrthancPluginService = 3015;
484pub const _OrthancPluginService__OrthancPluginService_CallRestApi: _OrthancPluginService = 3016;
485pub const _OrthancPluginService__OrthancPluginService_GetInstanceRemoteAet: _OrthancPluginService =
486    4000;
487pub const _OrthancPluginService__OrthancPluginService_GetInstanceSize: _OrthancPluginService = 4001;
488pub const _OrthancPluginService__OrthancPluginService_GetInstanceData: _OrthancPluginService = 4002;
489pub const _OrthancPluginService__OrthancPluginService_GetInstanceJson: _OrthancPluginService = 4003;
490pub const _OrthancPluginService__OrthancPluginService_GetInstanceSimplifiedJson:
491    _OrthancPluginService = 4004;
492pub const _OrthancPluginService__OrthancPluginService_HasInstanceMetadata: _OrthancPluginService =
493    4005;
494pub const _OrthancPluginService__OrthancPluginService_GetInstanceMetadata: _OrthancPluginService =
495    4006;
496pub const _OrthancPluginService__OrthancPluginService_GetInstanceOrigin: _OrthancPluginService =
497    4007;
498pub const _OrthancPluginService__OrthancPluginService_GetInstanceTransferSyntaxUid:
499    _OrthancPluginService = 4008;
500pub const _OrthancPluginService__OrthancPluginService_HasInstancePixelData: _OrthancPluginService =
501    4009;
502pub const _OrthancPluginService__OrthancPluginService_CreateDicomInstance: _OrthancPluginService =
503    4010;
504pub const _OrthancPluginService__OrthancPluginService_FreeDicomInstance: _OrthancPluginService =
505    4011;
506pub const _OrthancPluginService__OrthancPluginService_GetInstanceFramesCount:
507    _OrthancPluginService = 4012;
508pub const _OrthancPluginService__OrthancPluginService_GetInstanceRawFrame: _OrthancPluginService =
509    4013;
510pub const _OrthancPluginService__OrthancPluginService_GetInstanceDecodedFrame:
511    _OrthancPluginService = 4014;
512pub const _OrthancPluginService__OrthancPluginService_TranscodeDicomInstance:
513    _OrthancPluginService = 4015;
514pub const _OrthancPluginService__OrthancPluginService_SerializeDicomInstance:
515    _OrthancPluginService = 4016;
516pub const _OrthancPluginService__OrthancPluginService_GetInstanceAdvancedJson:
517    _OrthancPluginService = 4017;
518pub const _OrthancPluginService__OrthancPluginService_GetInstanceDicomWebJson:
519    _OrthancPluginService = 4018;
520pub const _OrthancPluginService__OrthancPluginService_GetInstanceDicomWebXml:
521    _OrthancPluginService = 4019;
522pub const _OrthancPluginService__OrthancPluginService_RegisterDatabaseBackend:
523    _OrthancPluginService = 5000;
524pub const _OrthancPluginService__OrthancPluginService_DatabaseAnswer: _OrthancPluginService = 5001;
525pub const _OrthancPluginService__OrthancPluginService_RegisterDatabaseBackendV2:
526    _OrthancPluginService = 5002;
527pub const _OrthancPluginService__OrthancPluginService_StorageAreaCreate: _OrthancPluginService =
528    5003;
529pub const _OrthancPluginService__OrthancPluginService_StorageAreaRead: _OrthancPluginService = 5004;
530pub const _OrthancPluginService__OrthancPluginService_StorageAreaRemove: _OrthancPluginService =
531    5005;
532pub const _OrthancPluginService__OrthancPluginService_RegisterDatabaseBackendV3:
533    _OrthancPluginService = 5006;
534pub const _OrthancPluginService__OrthancPluginService_GetImagePixelFormat: _OrthancPluginService =
535    6000;
536pub const _OrthancPluginService__OrthancPluginService_GetImageWidth: _OrthancPluginService = 6001;
537pub const _OrthancPluginService__OrthancPluginService_GetImageHeight: _OrthancPluginService = 6002;
538pub const _OrthancPluginService__OrthancPluginService_GetImagePitch: _OrthancPluginService = 6003;
539pub const _OrthancPluginService__OrthancPluginService_GetImageBuffer: _OrthancPluginService = 6004;
540pub const _OrthancPluginService__OrthancPluginService_UncompressImage: _OrthancPluginService = 6005;
541pub const _OrthancPluginService__OrthancPluginService_FreeImage: _OrthancPluginService = 6006;
542pub const _OrthancPluginService__OrthancPluginService_CompressImage: _OrthancPluginService = 6007;
543pub const _OrthancPluginService__OrthancPluginService_ConvertPixelFormat: _OrthancPluginService =
544    6008;
545pub const _OrthancPluginService__OrthancPluginService_GetFontsCount: _OrthancPluginService = 6009;
546pub const _OrthancPluginService__OrthancPluginService_GetFontInfo: _OrthancPluginService = 6010;
547pub const _OrthancPluginService__OrthancPluginService_DrawText: _OrthancPluginService = 6011;
548pub const _OrthancPluginService__OrthancPluginService_CreateImage: _OrthancPluginService = 6012;
549pub const _OrthancPluginService__OrthancPluginService_CreateImageAccessor: _OrthancPluginService =
550    6013;
551pub const _OrthancPluginService__OrthancPluginService_DecodeDicomImage: _OrthancPluginService =
552    6014;
553pub const _OrthancPluginService__OrthancPluginService_WorklistAddAnswer: _OrthancPluginService =
554    7000;
555pub const _OrthancPluginService__OrthancPluginService_WorklistMarkIncomplete:
556    _OrthancPluginService = 7001;
557pub const _OrthancPluginService__OrthancPluginService_WorklistIsMatch: _OrthancPluginService = 7002;
558pub const _OrthancPluginService__OrthancPluginService_WorklistGetDicomQuery: _OrthancPluginService =
559    7003;
560pub const _OrthancPluginService__OrthancPluginService_FindAddAnswer: _OrthancPluginService = 7004;
561pub const _OrthancPluginService__OrthancPluginService_FindMarkIncomplete: _OrthancPluginService =
562    7005;
563pub const _OrthancPluginService__OrthancPluginService_GetFindQuerySize: _OrthancPluginService =
564    7006;
565pub const _OrthancPluginService__OrthancPluginService_GetFindQueryTag: _OrthancPluginService = 7007;
566pub const _OrthancPluginService__OrthancPluginService_GetFindQueryTagName: _OrthancPluginService =
567    7008;
568pub const _OrthancPluginService__OrthancPluginService_GetFindQueryValue: _OrthancPluginService =
569    7009;
570pub const _OrthancPluginService__OrthancPluginService_CreateFindMatcher: _OrthancPluginService =
571    7010;
572pub const _OrthancPluginService__OrthancPluginService_FreeFindMatcher: _OrthancPluginService = 7011;
573pub const _OrthancPluginService__OrthancPluginService_FindMatcherIsMatch: _OrthancPluginService =
574    7012;
575pub const _OrthancPluginService__OrthancPluginService_GetPeers: _OrthancPluginService = 8000;
576pub const _OrthancPluginService__OrthancPluginService_FreePeers: _OrthancPluginService = 8001;
577pub const _OrthancPluginService__OrthancPluginService_GetPeersCount: _OrthancPluginService = 8003;
578pub const _OrthancPluginService__OrthancPluginService_GetPeerName: _OrthancPluginService = 8004;
579pub const _OrthancPluginService__OrthancPluginService_GetPeerUrl: _OrthancPluginService = 8005;
580pub const _OrthancPluginService__OrthancPluginService_CallPeerApi: _OrthancPluginService = 8006;
581pub const _OrthancPluginService__OrthancPluginService_GetPeerUserProperty: _OrthancPluginService =
582    8007;
583pub const _OrthancPluginService__OrthancPluginService_CreateJob: _OrthancPluginService = 9000;
584pub const _OrthancPluginService__OrthancPluginService_FreeJob: _OrthancPluginService = 9001;
585pub const _OrthancPluginService__OrthancPluginService_SubmitJob: _OrthancPluginService = 9002;
586pub const _OrthancPluginService__OrthancPluginService_RegisterJobsUnserializer:
587    _OrthancPluginService = 9003;
588pub const _OrthancPluginService__OrthancPluginService_INTERNAL: _OrthancPluginService = 2147483647;
589pub type _OrthancPluginService = ::std::os::raw::c_uint;
590#[doc = " @brief Graylevel 8bpp image.\n\n The image is graylevel. Each pixel is unsigned and stored in\n one byte."]
591pub const OrthancPluginPixelFormat_OrthancPluginPixelFormat_Grayscale8: OrthancPluginPixelFormat =
592    1;
593#[doc = " @brief Graylevel, unsigned 16bpp image.\n\n The image is graylevel. Each pixel is unsigned and stored in\n two bytes."]
594pub const OrthancPluginPixelFormat_OrthancPluginPixelFormat_Grayscale16: OrthancPluginPixelFormat =
595    2;
596#[doc = " @brief Graylevel, signed 16bpp image.\n\n The image is graylevel. Each pixel is signed and stored in two\n bytes."]
597pub const OrthancPluginPixelFormat_OrthancPluginPixelFormat_SignedGrayscale16:
598    OrthancPluginPixelFormat = 3;
599#[doc = " @brief Color image in RGB24 format.\n\n This format describes a color image. The pixels are stored in 3\n consecutive bytes. The memory layout is RGB."]
600pub const OrthancPluginPixelFormat_OrthancPluginPixelFormat_RGB24: OrthancPluginPixelFormat = 4;
601#[doc = " @brief Color image in RGBA32 format.\n\n This format describes a color image. The pixels are stored in 4\n consecutive bytes. The memory layout is RGBA."]
602pub const OrthancPluginPixelFormat_OrthancPluginPixelFormat_RGBA32: OrthancPluginPixelFormat = 5;
603#[doc = "< Unknown pixel format"]
604pub const OrthancPluginPixelFormat_OrthancPluginPixelFormat_Unknown: OrthancPluginPixelFormat = 6;
605#[doc = " @brief Color image in RGB48 format.\n\n This format describes a color image. The pixels are stored in 6\n consecutive bytes. The memory layout is RRGGBB."]
606pub const OrthancPluginPixelFormat_OrthancPluginPixelFormat_RGB48: OrthancPluginPixelFormat = 7;
607#[doc = " @brief Graylevel, unsigned 32bpp image.\n\n The image is graylevel. Each pixel is unsigned and stored in\n four bytes."]
608pub const OrthancPluginPixelFormat_OrthancPluginPixelFormat_Grayscale32: OrthancPluginPixelFormat =
609    8;
610#[doc = " @brief Graylevel, floating-point 32bpp image.\n\n The image is graylevel. Each pixel is floating-point and stored\n in four bytes."]
611pub const OrthancPluginPixelFormat_OrthancPluginPixelFormat_Float32: OrthancPluginPixelFormat = 9;
612#[doc = " @brief Color image in BGRA32 format.\n\n This format describes a color image. The pixels are stored in 4\n consecutive bytes. The memory layout is BGRA."]
613pub const OrthancPluginPixelFormat_OrthancPluginPixelFormat_BGRA32: OrthancPluginPixelFormat = 10;
614#[doc = " @brief Graylevel, unsigned 64bpp image.\n\n The image is graylevel. Each pixel is unsigned and stored in\n eight bytes."]
615pub const OrthancPluginPixelFormat_OrthancPluginPixelFormat_Grayscale64: OrthancPluginPixelFormat =
616    11;
617#[doc = " @brief Graylevel, unsigned 64bpp image.\n\n The image is graylevel. Each pixel is unsigned and stored in\n eight bytes."]
618pub const OrthancPluginPixelFormat__OrthancPluginPixelFormat_INTERNAL: OrthancPluginPixelFormat =
619    2147483647;
620#[doc = " The memory layout of the pixels of an image.\n @ingroup Images"]
621pub type OrthancPluginPixelFormat = ::std::os::raw::c_uint;
622#[doc = "< Unknown content type"]
623pub const OrthancPluginContentType_OrthancPluginContentType_Unknown: OrthancPluginContentType = 0;
624#[doc = "< DICOM"]
625pub const OrthancPluginContentType_OrthancPluginContentType_Dicom: OrthancPluginContentType = 1;
626#[doc = "< JSON summary of a DICOM file"]
627pub const OrthancPluginContentType_OrthancPluginContentType_DicomAsJson: OrthancPluginContentType =
628    2;
629#[doc = "< DICOM Header till pixel data"]
630pub const OrthancPluginContentType_OrthancPluginContentType_DicomUntilPixelData:
631    OrthancPluginContentType = 3;
632pub const OrthancPluginContentType__OrthancPluginContentType_INTERNAL: OrthancPluginContentType =
633    2147483647;
634#[doc = " The content types that are supported by Orthanc plugins."]
635pub type OrthancPluginContentType = ::std::os::raw::c_uint;
636#[doc = "< Patient"]
637pub const OrthancPluginResourceType_OrthancPluginResourceType_Patient: OrthancPluginResourceType =
638    0;
639#[doc = "< Study"]
640pub const OrthancPluginResourceType_OrthancPluginResourceType_Study: OrthancPluginResourceType = 1;
641#[doc = "< Series"]
642pub const OrthancPluginResourceType_OrthancPluginResourceType_Series: OrthancPluginResourceType = 2;
643#[doc = "< Instance"]
644pub const OrthancPluginResourceType_OrthancPluginResourceType_Instance: OrthancPluginResourceType =
645    3;
646#[doc = "< Unavailable resource type"]
647pub const OrthancPluginResourceType_OrthancPluginResourceType_None: OrthancPluginResourceType = 4;
648pub const OrthancPluginResourceType__OrthancPluginResourceType_INTERNAL: OrthancPluginResourceType =
649    2147483647;
650#[doc = " The supported types of DICOM resources."]
651pub type OrthancPluginResourceType = ::std::os::raw::c_uint;
652#[doc = "< Series is now complete"]
653pub const OrthancPluginChangeType_OrthancPluginChangeType_CompletedSeries: OrthancPluginChangeType =
654    0;
655#[doc = "< Deleted resource"]
656pub const OrthancPluginChangeType_OrthancPluginChangeType_Deleted: OrthancPluginChangeType = 1;
657#[doc = "< A new instance was added to this resource"]
658pub const OrthancPluginChangeType_OrthancPluginChangeType_NewChildInstance:
659    OrthancPluginChangeType = 2;
660#[doc = "< New instance received"]
661pub const OrthancPluginChangeType_OrthancPluginChangeType_NewInstance: OrthancPluginChangeType = 3;
662#[doc = "< New patient created"]
663pub const OrthancPluginChangeType_OrthancPluginChangeType_NewPatient: OrthancPluginChangeType = 4;
664#[doc = "< New series created"]
665pub const OrthancPluginChangeType_OrthancPluginChangeType_NewSeries: OrthancPluginChangeType = 5;
666#[doc = "< New study created"]
667pub const OrthancPluginChangeType_OrthancPluginChangeType_NewStudy: OrthancPluginChangeType = 6;
668#[doc = "< Timeout: No new instance in this patient"]
669pub const OrthancPluginChangeType_OrthancPluginChangeType_StablePatient: OrthancPluginChangeType =
670    7;
671#[doc = "< Timeout: No new instance in this series"]
672pub const OrthancPluginChangeType_OrthancPluginChangeType_StableSeries: OrthancPluginChangeType = 8;
673#[doc = "< Timeout: No new instance in this study"]
674pub const OrthancPluginChangeType_OrthancPluginChangeType_StableStudy: OrthancPluginChangeType = 9;
675#[doc = "< Orthanc has started"]
676pub const OrthancPluginChangeType_OrthancPluginChangeType_OrthancStarted: OrthancPluginChangeType =
677    10;
678#[doc = "< Orthanc is stopping"]
679pub const OrthancPluginChangeType_OrthancPluginChangeType_OrthancStopped: OrthancPluginChangeType =
680    11;
681#[doc = "< Some user-defined attachment has changed for this resource"]
682pub const OrthancPluginChangeType_OrthancPluginChangeType_UpdatedAttachment:
683    OrthancPluginChangeType = 12;
684#[doc = "< Some user-defined metadata has changed for this resource"]
685pub const OrthancPluginChangeType_OrthancPluginChangeType_UpdatedMetadata: OrthancPluginChangeType =
686    13;
687#[doc = "< The list of Orthanc peers has changed"]
688pub const OrthancPluginChangeType_OrthancPluginChangeType_UpdatedPeers: OrthancPluginChangeType =
689    14;
690#[doc = "< The list of DICOM modalities has changed"]
691pub const OrthancPluginChangeType_OrthancPluginChangeType_UpdatedModalities:
692    OrthancPluginChangeType = 15;
693#[doc = "< New Job submitted"]
694pub const OrthancPluginChangeType_OrthancPluginChangeType_JobSubmitted: OrthancPluginChangeType =
695    16;
696#[doc = "< A Job has completed successfully"]
697pub const OrthancPluginChangeType_OrthancPluginChangeType_JobSuccess: OrthancPluginChangeType = 17;
698#[doc = "< A Job has failed"]
699pub const OrthancPluginChangeType_OrthancPluginChangeType_JobFailure: OrthancPluginChangeType = 18;
700pub const OrthancPluginChangeType__OrthancPluginChangeType_INTERNAL: OrthancPluginChangeType =
701    2147483647;
702#[doc = " The supported types of changes that can be signaled to the change callback.\n @ingroup Callbacks"]
703pub type OrthancPluginChangeType = ::std::os::raw::c_uint;
704#[doc = "< Standard zlib compression"]
705pub const OrthancPluginCompressionType_OrthancPluginCompressionType_Zlib:
706    OrthancPluginCompressionType = 0;
707#[doc = "< zlib, prefixed with uncompressed size (uint64_t)"]
708pub const OrthancPluginCompressionType_OrthancPluginCompressionType_ZlibWithSize:
709    OrthancPluginCompressionType = 1;
710#[doc = "< Standard gzip compression"]
711pub const OrthancPluginCompressionType_OrthancPluginCompressionType_Gzip:
712    OrthancPluginCompressionType = 2;
713#[doc = "< gzip, prefixed with uncompressed size (uint64_t)"]
714pub const OrthancPluginCompressionType_OrthancPluginCompressionType_GzipWithSize:
715    OrthancPluginCompressionType = 3;
716pub const OrthancPluginCompressionType__OrthancPluginCompressionType_INTERNAL:
717    OrthancPluginCompressionType = 2147483647;
718#[doc = " The compression algorithms that are supported by the Orthanc core.\n @ingroup Images"]
719pub type OrthancPluginCompressionType = ::std::os::raw::c_uint;
720#[doc = "< Image compressed using PNG"]
721pub const OrthancPluginImageFormat_OrthancPluginImageFormat_Png: OrthancPluginImageFormat = 0;
722#[doc = "< Image compressed using JPEG"]
723pub const OrthancPluginImageFormat_OrthancPluginImageFormat_Jpeg: OrthancPluginImageFormat = 1;
724#[doc = "< Image compressed using DICOM"]
725pub const OrthancPluginImageFormat_OrthancPluginImageFormat_Dicom: OrthancPluginImageFormat = 2;
726pub const OrthancPluginImageFormat__OrthancPluginImageFormat_INTERNAL: OrthancPluginImageFormat =
727    2147483647;
728#[doc = " The image formats that are supported by the Orthanc core.\n @ingroup Images"]
729pub type OrthancPluginImageFormat = ::std::os::raw::c_uint;
730#[doc = "< Application Entity"]
731pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_AE:
732    OrthancPluginValueRepresentation = 1;
733#[doc = "< Age String"]
734pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_AS:
735    OrthancPluginValueRepresentation = 2;
736#[doc = "< Attribute Tag"]
737pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_AT:
738    OrthancPluginValueRepresentation = 3;
739#[doc = "< Code String"]
740pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_CS:
741    OrthancPluginValueRepresentation = 4;
742#[doc = "< Date"]
743pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_DA:
744    OrthancPluginValueRepresentation = 5;
745#[doc = "< Decimal String"]
746pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_DS:
747    OrthancPluginValueRepresentation = 6;
748#[doc = "< Date Time"]
749pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_DT:
750    OrthancPluginValueRepresentation = 7;
751#[doc = "< Floating Point Double"]
752pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_FD:
753    OrthancPluginValueRepresentation = 8;
754#[doc = "< Floating Point Single"]
755pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_FL:
756    OrthancPluginValueRepresentation = 9;
757#[doc = "< Integer String"]
758pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_IS:
759    OrthancPluginValueRepresentation = 10;
760#[doc = "< Long String"]
761pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_LO:
762    OrthancPluginValueRepresentation = 11;
763#[doc = "< Long Text"]
764pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_LT:
765    OrthancPluginValueRepresentation = 12;
766#[doc = "< Other Byte String"]
767pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_OB:
768    OrthancPluginValueRepresentation = 13;
769#[doc = "< Other Float String"]
770pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_OF:
771    OrthancPluginValueRepresentation = 14;
772#[doc = "< Other Word String"]
773pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_OW:
774    OrthancPluginValueRepresentation = 15;
775#[doc = "< Person Name"]
776pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_PN:
777    OrthancPluginValueRepresentation = 16;
778#[doc = "< Short String"]
779pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_SH:
780    OrthancPluginValueRepresentation = 17;
781#[doc = "< Signed Long"]
782pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_SL:
783    OrthancPluginValueRepresentation = 18;
784#[doc = "< Sequence of Items"]
785pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_SQ:
786    OrthancPluginValueRepresentation = 19;
787#[doc = "< Signed Short"]
788pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_SS:
789    OrthancPluginValueRepresentation = 20;
790#[doc = "< Short Text"]
791pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_ST:
792    OrthancPluginValueRepresentation = 21;
793#[doc = "< Time"]
794pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_TM:
795    OrthancPluginValueRepresentation = 22;
796#[doc = "< Unique Identifier (UID)"]
797pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_UI:
798    OrthancPluginValueRepresentation = 23;
799#[doc = "< Unsigned Long"]
800pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_UL:
801    OrthancPluginValueRepresentation = 24;
802#[doc = "< Unknown"]
803pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_UN:
804    OrthancPluginValueRepresentation = 25;
805#[doc = "< Unsigned Short"]
806pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_US:
807    OrthancPluginValueRepresentation = 26;
808#[doc = "< Unlimited Text"]
809pub const OrthancPluginValueRepresentation_OrthancPluginValueRepresentation_UT:
810    OrthancPluginValueRepresentation = 27;
811pub const OrthancPluginValueRepresentation__OrthancPluginValueRepresentation_INTERNAL:
812    OrthancPluginValueRepresentation = 2147483647;
813#[doc = " The value representations present in the DICOM standard (version 2013).\n @ingroup Toolbox"]
814pub type OrthancPluginValueRepresentation = ::std::os::raw::c_uint;
815#[doc = "< Full output, with most details"]
816pub const OrthancPluginDicomToJsonFormat_OrthancPluginDicomToJsonFormat_Full:
817    OrthancPluginDicomToJsonFormat = 1;
818#[doc = "< Tags output as hexadecimal numbers"]
819pub const OrthancPluginDicomToJsonFormat_OrthancPluginDicomToJsonFormat_Short:
820    OrthancPluginDicomToJsonFormat = 2;
821#[doc = "< Human-readable JSON"]
822pub const OrthancPluginDicomToJsonFormat_OrthancPluginDicomToJsonFormat_Human:
823    OrthancPluginDicomToJsonFormat = 3;
824pub const OrthancPluginDicomToJsonFormat__OrthancPluginDicomToJsonFormat_INTERNAL:
825    OrthancPluginDicomToJsonFormat = 2147483647;
826#[doc = " The possible output formats for a DICOM-to-JSON conversion.\n @ingroup Toolbox\n @see OrthancPluginDicomToJson()"]
827pub type OrthancPluginDicomToJsonFormat = ::std::os::raw::c_uint;
828pub const OrthancPluginDicomToJsonFlags_OrthancPluginDicomToJsonFlags_None:
829    OrthancPluginDicomToJsonFlags = 0;
830#[doc = "< Include the binary tags"]
831pub const OrthancPluginDicomToJsonFlags_OrthancPluginDicomToJsonFlags_IncludeBinary:
832    OrthancPluginDicomToJsonFlags = 1;
833#[doc = "< Include the private tags"]
834pub const OrthancPluginDicomToJsonFlags_OrthancPluginDicomToJsonFlags_IncludePrivateTags:
835    OrthancPluginDicomToJsonFlags = 2;
836#[doc = "< Include the tags unknown by the dictionary"]
837pub const OrthancPluginDicomToJsonFlags_OrthancPluginDicomToJsonFlags_IncludeUnknownTags:
838    OrthancPluginDicomToJsonFlags = 4;
839#[doc = "< Include the pixel data"]
840pub const OrthancPluginDicomToJsonFlags_OrthancPluginDicomToJsonFlags_IncludePixelData:
841    OrthancPluginDicomToJsonFlags = 8;
842#[doc = "< Output binary tags as-is, dropping non-ASCII"]
843pub const OrthancPluginDicomToJsonFlags_OrthancPluginDicomToJsonFlags_ConvertBinaryToAscii:
844    OrthancPluginDicomToJsonFlags = 16;
845#[doc = "< Signal binary tags as null values"]
846pub const OrthancPluginDicomToJsonFlags_OrthancPluginDicomToJsonFlags_ConvertBinaryToNull:
847    OrthancPluginDicomToJsonFlags = 32;
848#[doc = "< Stop processing after pixel data (new in 1.9.1)"]
849pub const OrthancPluginDicomToJsonFlags_OrthancPluginDicomToJsonFlags_StopAfterPixelData:
850    OrthancPluginDicomToJsonFlags = 64;
851#[doc = "< Skip tags whose element is zero (new in 1.9.1)"]
852pub const OrthancPluginDicomToJsonFlags_OrthancPluginDicomToJsonFlags_SkipGroupLengths:
853    OrthancPluginDicomToJsonFlags = 128;
854pub const OrthancPluginDicomToJsonFlags__OrthancPluginDicomToJsonFlags_INTERNAL:
855    OrthancPluginDicomToJsonFlags = 2147483647;
856#[doc = " Flags to customize a DICOM-to-JSON conversion. By default, binary\n tags are formatted using Data URI scheme.\n @ingroup Toolbox"]
857pub type OrthancPluginDicomToJsonFlags = ::std::os::raw::c_uint;
858pub const OrthancPluginCreateDicomFlags_OrthancPluginCreateDicomFlags_None:
859    OrthancPluginCreateDicomFlags = 0;
860#[doc = "< Decode fields encoded using data URI scheme"]
861pub const OrthancPluginCreateDicomFlags_OrthancPluginCreateDicomFlags_DecodeDataUriScheme:
862    OrthancPluginCreateDicomFlags = 1;
863#[doc = "< Automatically generate DICOM identifiers"]
864pub const OrthancPluginCreateDicomFlags_OrthancPluginCreateDicomFlags_GenerateIdentifiers:
865    OrthancPluginCreateDicomFlags = 2;
866pub const OrthancPluginCreateDicomFlags__OrthancPluginCreateDicomFlags_INTERNAL:
867    OrthancPluginCreateDicomFlags = 2147483647;
868#[doc = " Flags to the creation of a DICOM file.\n @ingroup Toolbox\n @see OrthancPluginCreateDicom()"]
869pub type OrthancPluginCreateDicomFlags = ::std::os::raw::c_uint;
870#[doc = "< Equal"]
871pub const OrthancPluginIdentifierConstraint_OrthancPluginIdentifierConstraint_Equal:
872    OrthancPluginIdentifierConstraint = 1;
873#[doc = "< Less or equal"]
874pub const OrthancPluginIdentifierConstraint_OrthancPluginIdentifierConstraint_SmallerOrEqual:
875    OrthancPluginIdentifierConstraint = 2;
876#[doc = "< More or equal"]
877pub const OrthancPluginIdentifierConstraint_OrthancPluginIdentifierConstraint_GreaterOrEqual:
878    OrthancPluginIdentifierConstraint = 3;
879#[doc = "< Case-sensitive wildcard matching (with * and ?)"]
880pub const OrthancPluginIdentifierConstraint_OrthancPluginIdentifierConstraint_Wildcard:
881    OrthancPluginIdentifierConstraint = 4;
882pub const OrthancPluginIdentifierConstraint__OrthancPluginIdentifierConstraint_INTERNAL:
883    OrthancPluginIdentifierConstraint = 2147483647;
884#[doc = " The constraints on the DICOM identifiers that must be supported\n by the database plugins.\n @deprecated Plugins using OrthancPluginConstraintType will be faster"]
885pub type OrthancPluginIdentifierConstraint = ::std::os::raw::c_uint;
886#[doc = "< Equal"]
887pub const OrthancPluginConstraintType_OrthancPluginConstraintType_Equal:
888    OrthancPluginConstraintType = 1;
889#[doc = "< Less or equal"]
890pub const OrthancPluginConstraintType_OrthancPluginConstraintType_SmallerOrEqual:
891    OrthancPluginConstraintType = 2;
892#[doc = "< More or equal"]
893pub const OrthancPluginConstraintType_OrthancPluginConstraintType_GreaterOrEqual:
894    OrthancPluginConstraintType = 3;
895#[doc = "< Wildcard matching"]
896pub const OrthancPluginConstraintType_OrthancPluginConstraintType_Wildcard:
897    OrthancPluginConstraintType = 4;
898#[doc = "< List of values"]
899pub const OrthancPluginConstraintType_OrthancPluginConstraintType_List:
900    OrthancPluginConstraintType = 5;
901pub const OrthancPluginConstraintType__OrthancPluginConstraintType_INTERNAL:
902    OrthancPluginConstraintType = 2147483647;
903#[doc = " The constraints on the tags (main DICOM tags and identifier tags)\n that must be supported by the database plugins."]
904pub type OrthancPluginConstraintType = ::std::os::raw::c_uint;
905#[doc = "< Unknown origin"]
906pub const OrthancPluginInstanceOrigin_OrthancPluginInstanceOrigin_Unknown:
907    OrthancPluginInstanceOrigin = 1;
908#[doc = "< Instance received through DICOM protocol"]
909pub const OrthancPluginInstanceOrigin_OrthancPluginInstanceOrigin_DicomProtocol:
910    OrthancPluginInstanceOrigin = 2;
911#[doc = "< Instance received through REST API of Orthanc"]
912pub const OrthancPluginInstanceOrigin_OrthancPluginInstanceOrigin_RestApi:
913    OrthancPluginInstanceOrigin = 3;
914#[doc = "< Instance added to Orthanc by a plugin"]
915pub const OrthancPluginInstanceOrigin_OrthancPluginInstanceOrigin_Plugin:
916    OrthancPluginInstanceOrigin = 4;
917#[doc = "< Instance added to Orthanc by a Lua script"]
918pub const OrthancPluginInstanceOrigin_OrthancPluginInstanceOrigin_Lua: OrthancPluginInstanceOrigin =
919    5;
920#[doc = "< Instance received through WebDAV (new in 1.8.0)"]
921pub const OrthancPluginInstanceOrigin_OrthancPluginInstanceOrigin_WebDav:
922    OrthancPluginInstanceOrigin = 6;
923pub const OrthancPluginInstanceOrigin__OrthancPluginInstanceOrigin_INTERNAL:
924    OrthancPluginInstanceOrigin = 2147483647;
925#[doc = " The origin of a DICOM instance that has been received by Orthanc."]
926pub type OrthancPluginInstanceOrigin = ::std::os::raw::c_uint;
927#[doc = "< The job has successfully executed all its steps"]
928pub const OrthancPluginJobStepStatus_OrthancPluginJobStepStatus_Success:
929    OrthancPluginJobStepStatus = 1;
930#[doc = "< The job has failed while executing this step"]
931pub const OrthancPluginJobStepStatus_OrthancPluginJobStepStatus_Failure:
932    OrthancPluginJobStepStatus = 2;
933#[doc = "< The job has still data to process after this step"]
934pub const OrthancPluginJobStepStatus_OrthancPluginJobStepStatus_Continue:
935    OrthancPluginJobStepStatus = 3;
936#[doc = " The possible status for one single step of a job."]
937pub type OrthancPluginJobStepStatus = ::std::os::raw::c_uint;
938#[doc = "< The job has succeeded"]
939pub const OrthancPluginJobStopReason_OrthancPluginJobStopReason_Success:
940    OrthancPluginJobStopReason = 1;
941#[doc = "< The job was paused, and will be resumed later"]
942pub const OrthancPluginJobStopReason_OrthancPluginJobStopReason_Paused: OrthancPluginJobStopReason =
943    2;
944#[doc = "< The job has failed, and might be resubmitted later"]
945pub const OrthancPluginJobStopReason_OrthancPluginJobStopReason_Failure:
946    OrthancPluginJobStopReason = 3;
947#[doc = "< The job was canceled, and might be resubmitted later"]
948pub const OrthancPluginJobStopReason_OrthancPluginJobStopReason_Canceled:
949    OrthancPluginJobStopReason = 4;
950#[doc = " Explains why the job should stop and release the resources it has\n allocated. This is especially important to disambiguate between\n the \"paused\" condition and the \"final\" conditions (success,\n failure, or canceled)."]
951pub type OrthancPluginJobStopReason = ::std::os::raw::c_uint;
952#[doc = "< Default metrics"]
953pub const OrthancPluginMetricsType_OrthancPluginMetricsType_Default: OrthancPluginMetricsType = 0;
954#[doc = " This metrics represents a time duration. Orthanc will keep the\n maximum value of the metrics over a sliding window of ten\n seconds, which is useful if the metrics is sampled frequently."]
955pub const OrthancPluginMetricsType_OrthancPluginMetricsType_Timer: OrthancPluginMetricsType = 1;
956#[doc = " The available types of metrics."]
957pub type OrthancPluginMetricsType = ::std::os::raw::c_uint;
958#[doc = "< Don't include binary tags"]
959pub const OrthancPluginDicomWebBinaryMode_OrthancPluginDicomWebBinaryMode_Ignore:
960    OrthancPluginDicomWebBinaryMode = 0;
961#[doc = "< Inline encoding using Base64"]
962pub const OrthancPluginDicomWebBinaryMode_OrthancPluginDicomWebBinaryMode_InlineBinary:
963    OrthancPluginDicomWebBinaryMode = 1;
964#[doc = "< Use a bulk data URI field"]
965pub const OrthancPluginDicomWebBinaryMode_OrthancPluginDicomWebBinaryMode_BulkDataUri:
966    OrthancPluginDicomWebBinaryMode = 2;
967#[doc = " The available modes to export a binary DICOM tag into a DICOMweb\n JSON or XML document."]
968pub type OrthancPluginDicomWebBinaryMode = ::std::os::raw::c_uint;
969pub const OrthancPluginStorageCommitmentFailureReason_OrthancPluginStorageCommitmentFailureReason_Success : OrthancPluginStorageCommitmentFailureReason = 0 ;
970pub const OrthancPluginStorageCommitmentFailureReason_OrthancPluginStorageCommitmentFailureReason_ProcessingFailure : OrthancPluginStorageCommitmentFailureReason = 1 ;
971pub const OrthancPluginStorageCommitmentFailureReason_OrthancPluginStorageCommitmentFailureReason_NoSuchObjectInstance : OrthancPluginStorageCommitmentFailureReason = 2 ;
972pub const OrthancPluginStorageCommitmentFailureReason_OrthancPluginStorageCommitmentFailureReason_ResourceLimitation : OrthancPluginStorageCommitmentFailureReason = 3 ;
973pub const OrthancPluginStorageCommitmentFailureReason_OrthancPluginStorageCommitmentFailureReason_ReferencedSOPClassNotSupported : OrthancPluginStorageCommitmentFailureReason = 4 ;
974pub const OrthancPluginStorageCommitmentFailureReason_OrthancPluginStorageCommitmentFailureReason_ClassInstanceConflict : OrthancPluginStorageCommitmentFailureReason = 5 ;
975pub const OrthancPluginStorageCommitmentFailureReason_OrthancPluginStorageCommitmentFailureReason_DuplicateTransactionUID : OrthancPluginStorageCommitmentFailureReason = 6 ;
976#[doc = " The available values for the Failure Reason (0008,1197) during\n storage commitment.\n http://dicom.nema.org/medical/dicom/2019e/output/chtml/part03/sect_C.14.html#sect_C.14.1.1"]
977pub type OrthancPluginStorageCommitmentFailureReason = ::std::os::raw::c_uint;
978#[doc = "< Keep the instance as is"]
979pub const OrthancPluginReceivedInstanceAction_OrthancPluginReceivedInstanceAction_KeepAsIs:
980    OrthancPluginReceivedInstanceAction = 1;
981#[doc = "< Modify the instance"]
982pub const OrthancPluginReceivedInstanceAction_OrthancPluginReceivedInstanceAction_Modify:
983    OrthancPluginReceivedInstanceAction = 2;
984#[doc = "< Discard the instance"]
985pub const OrthancPluginReceivedInstanceAction_OrthancPluginReceivedInstanceAction_Discard:
986    OrthancPluginReceivedInstanceAction = 3;
987pub const OrthancPluginReceivedInstanceAction__OrthancPluginReceivedInstanceAction_INTERNAL:
988    OrthancPluginReceivedInstanceAction = 2147483647;
989#[doc = " The action to be taken after ReceivedInstanceCallback is triggered"]
990pub type OrthancPluginReceivedInstanceAction = ::std::os::raw::c_uint;
991#[doc = " @brief A 32-bit memory buffer allocated by the core system of Orthanc.\n\n A memory buffer allocated by the core system of Orthanc. When the\n content of the buffer is not useful anymore, it must be free by a\n call to ::OrthancPluginFreeMemoryBuffer()."]
992#[repr(C)]
993#[derive(Debug, Copy, Clone)]
994pub struct OrthancPluginMemoryBuffer {
995    #[doc = " @brief The content of the buffer."]
996    pub data: *mut ::std::os::raw::c_void,
997    #[doc = " @brief The number of bytes in the buffer."]
998    pub size: u32,
999}
1000#[doc = " @brief A 64-bit memory buffer allocated by the core system of Orthanc.\n\n A memory buffer allocated by the core system of Orthanc. When the\n content of the buffer is not useful anymore, it must be free by a\n call to ::OrthancPluginFreeMemoryBuffer64()."]
1001#[repr(C)]
1002#[derive(Debug, Copy, Clone)]
1003pub struct OrthancPluginMemoryBuffer64 {
1004    #[doc = " @brief The content of the buffer."]
1005    pub data: *mut ::std::os::raw::c_void,
1006    #[doc = " @brief The number of bytes in the buffer."]
1007    pub size: u64,
1008}
1009#[repr(C)]
1010#[derive(Debug, Copy, Clone)]
1011pub struct _OrthancPluginRestOutput_t {
1012    _unused: [u8; 0],
1013}
1014#[doc = " @brief Opaque structure that represents the HTTP connection to the client application.\n @ingroup Callbacks"]
1015pub type OrthancPluginRestOutput = _OrthancPluginRestOutput_t;
1016#[repr(C)]
1017#[derive(Debug, Copy, Clone)]
1018pub struct _OrthancPluginDicomInstance_t {
1019    _unused: [u8; 0],
1020}
1021#[doc = " @brief Opaque structure that represents a DICOM instance that is managed by the Orthanc core.\n @ingroup DicomInstance"]
1022pub type OrthancPluginDicomInstance = _OrthancPluginDicomInstance_t;
1023#[repr(C)]
1024#[derive(Debug, Copy, Clone)]
1025pub struct _OrthancPluginImage_t {
1026    _unused: [u8; 0],
1027}
1028#[doc = " @brief Opaque structure that represents an image that is uncompressed in memory.\n @ingroup Images"]
1029pub type OrthancPluginImage = _OrthancPluginImage_t;
1030#[repr(C)]
1031#[derive(Debug, Copy, Clone)]
1032pub struct _OrthancPluginStorageArea_t {
1033    _unused: [u8; 0],
1034}
1035#[doc = " @brief Opaque structure that represents the storage area that is actually used by Orthanc.\n @ingroup Images"]
1036pub type OrthancPluginStorageArea = _OrthancPluginStorageArea_t;
1037#[repr(C)]
1038#[derive(Debug, Copy, Clone)]
1039pub struct _OrthancPluginWorklistQuery_t {
1040    _unused: [u8; 0],
1041}
1042#[doc = " @brief Opaque structure to an object that represents a C-Find query for worklists.\n @ingroup DicomCallbacks"]
1043pub type OrthancPluginWorklistQuery = _OrthancPluginWorklistQuery_t;
1044#[repr(C)]
1045#[derive(Debug, Copy, Clone)]
1046pub struct _OrthancPluginWorklistAnswers_t {
1047    _unused: [u8; 0],
1048}
1049#[doc = " @brief Opaque structure to an object that represents the answers to a C-Find query for worklists.\n @ingroup DicomCallbacks"]
1050pub type OrthancPluginWorklistAnswers = _OrthancPluginWorklistAnswers_t;
1051#[repr(C)]
1052#[derive(Debug, Copy, Clone)]
1053pub struct _OrthancPluginFindQuery_t {
1054    _unused: [u8; 0],
1055}
1056#[doc = " @brief Opaque structure to an object that represents a C-Find query.\n @ingroup DicomCallbacks"]
1057pub type OrthancPluginFindQuery = _OrthancPluginFindQuery_t;
1058#[repr(C)]
1059#[derive(Debug, Copy, Clone)]
1060pub struct _OrthancPluginFindAnswers_t {
1061    _unused: [u8; 0],
1062}
1063#[doc = " @brief Opaque structure to an object that represents the answers to a C-Find query for worklists.\n @ingroup DicomCallbacks"]
1064pub type OrthancPluginFindAnswers = _OrthancPluginFindAnswers_t;
1065#[repr(C)]
1066#[derive(Debug, Copy, Clone)]
1067pub struct _OrthancPluginFindMatcher_t {
1068    _unused: [u8; 0],
1069}
1070#[doc = " @brief Opaque structure to an object that can be used to check whether a DICOM instance matches a C-Find query.\n @ingroup Toolbox"]
1071pub type OrthancPluginFindMatcher = _OrthancPluginFindMatcher_t;
1072#[repr(C)]
1073#[derive(Debug, Copy, Clone)]
1074pub struct _OrthancPluginPeers_t {
1075    _unused: [u8; 0],
1076}
1077#[doc = " @brief Opaque structure to the set of remote Orthanc Peers that are known to the local Orthanc server.\n @ingroup Toolbox"]
1078pub type OrthancPluginPeers = _OrthancPluginPeers_t;
1079#[repr(C)]
1080#[derive(Debug, Copy, Clone)]
1081pub struct _OrthancPluginJob_t {
1082    _unused: [u8; 0],
1083}
1084#[doc = " @brief Opaque structure to a job to be executed by Orthanc.\n @ingroup Toolbox"]
1085pub type OrthancPluginJob = _OrthancPluginJob_t;
1086#[repr(C)]
1087#[derive(Debug, Copy, Clone)]
1088pub struct _OrthancPluginDicomWebNode_t {
1089    _unused: [u8; 0],
1090}
1091#[doc = " @brief Opaque structure that represents a node in a JSON or XML\n document used in DICOMweb.\n @ingroup Toolbox"]
1092pub type OrthancPluginDicomWebNode = _OrthancPluginDicomWebNode_t;
1093#[doc = " @brief Signature of a callback function that answers to a REST request.\n @ingroup Callbacks"]
1094pub type OrthancPluginRestCallback = ::std::option::Option<
1095    unsafe extern "C" fn(
1096        output: *mut OrthancPluginRestOutput,
1097        url: *const ::std::os::raw::c_char,
1098        request: *const OrthancPluginHttpRequest,
1099    ) -> OrthancPluginErrorCode,
1100>;
1101#[doc = " @brief Signature of a callback function that is triggered when Orthanc stores a new DICOM instance.\n @ingroup Callbacks"]
1102pub type OrthancPluginOnStoredInstanceCallback = ::std::option::Option<
1103    unsafe extern "C" fn(
1104        instance: *const OrthancPluginDicomInstance,
1105        instanceId: *const ::std::os::raw::c_char,
1106    ) -> OrthancPluginErrorCode,
1107>;
1108#[doc = " @brief Signature of a callback function that is triggered when a change happens to some DICOM resource.\n @ingroup Callbacks"]
1109pub type OrthancPluginOnChangeCallback = ::std::option::Option<
1110    unsafe extern "C" fn(
1111        changeType: OrthancPluginChangeType,
1112        resourceType: OrthancPluginResourceType,
1113        resourceId: *const ::std::os::raw::c_char,
1114    ) -> OrthancPluginErrorCode,
1115>;
1116#[doc = " @brief Signature of a callback function to decode a DICOM instance as an image.\n @ingroup Callbacks"]
1117pub type OrthancPluginDecodeImageCallback = ::std::option::Option<
1118    unsafe extern "C" fn(
1119        target: *mut *mut OrthancPluginImage,
1120        dicom: *const ::std::os::raw::c_void,
1121        size: u32,
1122        frameIndex: u32,
1123    ) -> OrthancPluginErrorCode,
1124>;
1125#[doc = " @brief Signature of a function to free dynamic memory.\n @ingroup Callbacks"]
1126pub type OrthancPluginFree =
1127    ::std::option::Option<unsafe extern "C" fn(buffer: *mut ::std::os::raw::c_void)>;
1128#[doc = " @brief Signature of a function to set the content of a node\n encoding a binary DICOM tag, into a JSON or XML document\n generated for DICOMweb.\n @ingroup Callbacks"]
1129pub type OrthancPluginDicomWebSetBinaryNode = ::std::option::Option<
1130    unsafe extern "C" fn(
1131        node: *mut OrthancPluginDicomWebNode,
1132        mode: OrthancPluginDicomWebBinaryMode,
1133        bulkDataUri: *const ::std::os::raw::c_char,
1134    ),
1135>;
1136#[doc = " @brief Callback for writing to the storage area.\n\n Signature of a callback function that is triggered when Orthanc writes a file to the storage area.\n\n @param uuid The UUID of the file.\n @param content The content of the file.\n @param size The size of the file.\n @param type The content type corresponding to this file.\n @return 0 if success, other value if error.\n @ingroup Callbacks"]
1137pub type OrthancPluginStorageCreate = ::std::option::Option<
1138    unsafe extern "C" fn(
1139        uuid: *const ::std::os::raw::c_char,
1140        content: *const ::std::os::raw::c_void,
1141        size: i64,
1142        type_: OrthancPluginContentType,
1143    ) -> OrthancPluginErrorCode,
1144>;
1145#[doc = " @brief Callback for reading from the storage area.\n\n Signature of a callback function that is triggered when Orthanc reads a file from the storage area.\n\n @param content The content of the file (output).\n @param size The size of the file (output).\n @param uuid The UUID of the file of interest.\n @param type The content type corresponding to this file.\n @return 0 if success, other value if error.\n @ingroup Callbacks\n @deprecated New plugins should use OrthancPluginStorageRead2\n\n @warning The \"content\" buffer *must* have been allocated using\n the \"malloc()\" function of your C standard library (i.e. nor\n \"new[]\", neither a pointer to a buffer). The \"free()\" function of\n your C standard library will automatically be invoked on the\n \"content\" pointer."]
1146pub type OrthancPluginStorageRead = ::std::option::Option<
1147    unsafe extern "C" fn(
1148        content: *mut *mut ::std::os::raw::c_void,
1149        size: *mut i64,
1150        uuid: *const ::std::os::raw::c_char,
1151        type_: OrthancPluginContentType,
1152    ) -> OrthancPluginErrorCode,
1153>;
1154#[doc = " @brief Callback for reading a whole file from the storage area.\n\n Signature of a callback function that is triggered when Orthanc\n reads a whole file from the storage area.\n\n @param target Memory buffer where to store the content of the file. It must be allocated by the\n plugin using OrthancPluginCreateMemoryBuffer64(). The core of Orthanc will free it.\n @param uuid The UUID of the file of interest.\n @param type The content type corresponding to this file.\n @ingroup Callbacks"]
1155pub type OrthancPluginStorageReadWhole = ::std::option::Option<
1156    unsafe extern "C" fn(
1157        target: *mut OrthancPluginMemoryBuffer64,
1158        uuid: *const ::std::os::raw::c_char,
1159        type_: OrthancPluginContentType,
1160    ) -> OrthancPluginErrorCode,
1161>;
1162#[doc = " @brief Callback for reading a range of a file from the storage area.\n\n Signature of a callback function that is triggered when Orthanc\n reads a portion of a file from the storage area. Orthanc\n indicates the start position and the length of the range.\n\n @param target Memory buffer where to store the content of the range.\n The memory buffer is allocated and freed by Orthanc. The length of the range\n of interest corresponds to the size of this buffer.\n @param uuid The UUID of the file of interest.\n @param type The content type corresponding to this file.\n @param rangeStart Start position of the requested range in the file.\n @return 0 if success, other value if error.\n @ingroup Callbacks"]
1163pub type OrthancPluginStorageReadRange = ::std::option::Option<
1164    unsafe extern "C" fn(
1165        target: *mut OrthancPluginMemoryBuffer64,
1166        uuid: *const ::std::os::raw::c_char,
1167        type_: OrthancPluginContentType,
1168        rangeStart: u64,
1169    ) -> OrthancPluginErrorCode,
1170>;
1171#[doc = " @brief Callback for removing a file from the storage area.\n\n Signature of a callback function that is triggered when Orthanc deletes a file from the storage area.\n\n @param uuid The UUID of the file to be removed.\n @param type The content type corresponding to this file.\n @return 0 if success, other value if error.\n @ingroup Callbacks"]
1172pub type OrthancPluginStorageRemove = ::std::option::Option<
1173    unsafe extern "C" fn(
1174        uuid: *const ::std::os::raw::c_char,
1175        type_: OrthancPluginContentType,
1176    ) -> OrthancPluginErrorCode,
1177>;
1178#[doc = " @brief Callback to handle the C-Find SCP requests for worklists.\n\n Signature of a callback function that is triggered when Orthanc\n receives a C-Find SCP request against modality worklists.\n\n @param answers The target structure where answers must be stored.\n @param query The worklist query.\n @param issuerAet The Application Entity Title (AET) of the modality from which the request originates.\n @param calledAet The Application Entity Title (AET) of the modality that is called by the request.\n @return 0 if success, other value if error.\n @ingroup DicomCallbacks"]
1179pub type OrthancPluginWorklistCallback = ::std::option::Option<
1180    unsafe extern "C" fn(
1181        answers: *mut OrthancPluginWorklistAnswers,
1182        query: *const OrthancPluginWorklistQuery,
1183        issuerAet: *const ::std::os::raw::c_char,
1184        calledAet: *const ::std::os::raw::c_char,
1185    ) -> OrthancPluginErrorCode,
1186>;
1187#[doc = " @brief Callback to filter incoming HTTP requests received by Orthanc.\n\n Signature of a callback function that is triggered whenever\n Orthanc receives an HTTP/REST request, and that answers whether\n this request should be allowed. If the callback returns \"0\"\n (\"false\"), the server answers with HTTP status code 403\n (Forbidden).\n\n Pay attention to the fact that this function may be invoked\n concurrently by different threads of the Web server of\n Orthanc. You must implement proper locking if applicable.\n\n @param method The HTTP method used by the request.\n @param uri The URI of interest.\n @param ip The IP address of the HTTP client.\n @param headersCount The number of HTTP headers.\n @param headersKeys The keys of the HTTP headers (always converted to low-case).\n @param headersValues The values of the HTTP headers.\n @return 0 if forbidden access, 1 if allowed access, -1 if error.\n @ingroup Callbacks\n @deprecated Please instead use OrthancPluginIncomingHttpRequestFilter2()"]
1188pub type OrthancPluginIncomingHttpRequestFilter = ::std::option::Option<
1189    unsafe extern "C" fn(
1190        method: OrthancPluginHttpMethod,
1191        uri: *const ::std::os::raw::c_char,
1192        ip: *const ::std::os::raw::c_char,
1193        headersCount: u32,
1194        headersKeys: *const *const ::std::os::raw::c_char,
1195        headersValues: *const *const ::std::os::raw::c_char,
1196    ) -> i32,
1197>;
1198#[doc = " @brief Callback to filter incoming HTTP requests received by Orthanc.\n\n Signature of a callback function that is triggered whenever\n Orthanc receives an HTTP/REST request, and that answers whether\n this request should be allowed. If the callback returns \"0\"\n (\"false\"), the server answers with HTTP status code 403\n (Forbidden).\n\n Pay attention to the fact that this function may be invoked\n concurrently by different threads of the Web server of\n Orthanc. You must implement proper locking if applicable.\n\n @param method The HTTP method used by the request.\n @param uri The URI of interest.\n @param ip The IP address of the HTTP client.\n @param headersCount The number of HTTP headers.\n @param headersKeys The keys of the HTTP headers (always converted to low-case).\n @param headersValues The values of the HTTP headers.\n @param getArgumentsCount The number of GET arguments (only for the GET HTTP method).\n @param getArgumentsKeys The keys of the GET arguments (only for the GET HTTP method).\n @param getArgumentsValues The values of the GET arguments (only for the GET HTTP method).\n @return 0 if forbidden access, 1 if allowed access, -1 if error.\n @ingroup Callbacks"]
1199pub type OrthancPluginIncomingHttpRequestFilter2 = ::std::option::Option<
1200    unsafe extern "C" fn(
1201        method: OrthancPluginHttpMethod,
1202        uri: *const ::std::os::raw::c_char,
1203        ip: *const ::std::os::raw::c_char,
1204        headersCount: u32,
1205        headersKeys: *const *const ::std::os::raw::c_char,
1206        headersValues: *const *const ::std::os::raw::c_char,
1207        getArgumentsCount: u32,
1208        getArgumentsKeys: *const *const ::std::os::raw::c_char,
1209        getArgumentsValues: *const *const ::std::os::raw::c_char,
1210    ) -> i32,
1211>;
1212#[doc = " @brief Callback to handle incoming C-Find SCP requests.\n\n Signature of a callback function that is triggered whenever\n Orthanc receives a C-Find SCP request not concerning modality\n worklists.\n\n @param answers The target structure where answers must be stored.\n @param query The worklist query.\n @param issuerAet The Application Entity Title (AET) of the modality from which the request originates.\n @param calledAet The Application Entity Title (AET) of the modality that is called by the request.\n @return 0 if success, other value if error.\n @ingroup DicomCallbacks"]
1213pub type OrthancPluginFindCallback = ::std::option::Option<
1214    unsafe extern "C" fn(
1215        answers: *mut OrthancPluginFindAnswers,
1216        query: *const OrthancPluginFindQuery,
1217        issuerAet: *const ::std::os::raw::c_char,
1218        calledAet: *const ::std::os::raw::c_char,
1219    ) -> OrthancPluginErrorCode,
1220>;
1221#[doc = " @brief Callback to handle incoming C-Move SCP requests.\n\n Signature of a callback function that is triggered whenever\n Orthanc receives a C-Move SCP request. The callback receives the\n type of the resource of interest (study, series, instance...)\n together with the DICOM tags containing its identifiers. In turn,\n the plugin must create a driver object that will be responsible\n for driving the successive move suboperations.\n\n @param resourceType The type of the resource of interest. Note\n that this might be set to ResourceType_None if the\n QueryRetrieveLevel (0008,0052) tag was not provided by the\n issuer (i.e. the originator modality).\n @param patientId Content of the PatientID (0x0010, 0x0020) tag of the resource of interest. Might be NULL.\n @param accessionNumber Content of the AccessionNumber (0x0008, 0x0050) tag. Might be NULL.\n @param studyInstanceUid Content of the StudyInstanceUID (0x0020, 0x000d) tag. Might be NULL.\n @param seriesInstanceUid Content of the SeriesInstanceUID (0x0020, 0x000e) tag. Might be NULL.\n @param sopInstanceUid Content of the SOPInstanceUID (0x0008, 0x0018) tag. Might be NULL.\n @param originatorAet The Application Entity Title (AET) of the\n modality from which the request originates.\n @param sourceAet The Application Entity Title (AET) of the\n modality that should send its DICOM files to another modality.\n @param targetAet The Application Entity Title (AET) of the\n modality that should receive the DICOM files.\n @param originatorId The Message ID issued by the originator modality,\n as found in tag (0000,0110) of the DICOM query emitted by the issuer.\n\n @return The NULL value if the plugin cannot deal with this query,\n or a pointer to the driver object that is responsible for\n handling the successive move suboperations.\n\n @note If targetAet equals sourceAet, this is actually a query/retrieve operation.\n @ingroup DicomCallbacks"]
1222pub type OrthancPluginMoveCallback = ::std::option::Option<
1223    unsafe extern "C" fn(
1224        resourceType: OrthancPluginResourceType,
1225        patientId: *const ::std::os::raw::c_char,
1226        accessionNumber: *const ::std::os::raw::c_char,
1227        studyInstanceUid: *const ::std::os::raw::c_char,
1228        seriesInstanceUid: *const ::std::os::raw::c_char,
1229        sopInstanceUid: *const ::std::os::raw::c_char,
1230        originatorAet: *const ::std::os::raw::c_char,
1231        sourceAet: *const ::std::os::raw::c_char,
1232        targetAet: *const ::std::os::raw::c_char,
1233        originatorId: u16,
1234    ) -> *mut ::std::os::raw::c_void,
1235>;
1236#[doc = " @brief Callback to read the size of a C-Move driver.\n\n Signature of a callback function that returns the number of\n C-Move suboperations that are to be achieved by the given C-Move\n driver. This driver is the return value of a previous call to the\n OrthancPluginMoveCallback() callback.\n\n @param moveDriver The C-Move driver of interest.\n @return The number of suboperations.\n @ingroup DicomCallbacks"]
1237pub type OrthancPluginGetMoveSize =
1238    ::std::option::Option<unsafe extern "C" fn(moveDriver: *mut ::std::os::raw::c_void) -> u32>;
1239#[doc = " @brief Callback to apply one C-Move suboperation.\n\n Signature of a callback function that applies the next C-Move\n suboperation that os to be achieved by the given C-Move\n driver. This driver is the return value of a previous call to the\n OrthancPluginMoveCallback() callback.\n\n @param moveDriver The C-Move driver of interest.\n @return 0 if success, or the error code if failure.\n @ingroup DicomCallbacks"]
1240pub type OrthancPluginApplyMove = ::std::option::Option<
1241    unsafe extern "C" fn(moveDriver: *mut ::std::os::raw::c_void) -> OrthancPluginErrorCode,
1242>;
1243#[doc = " @brief Callback to free one C-Move driver.\n\n Signature of a callback function that releases the resources\n allocated by the given C-Move driver. This driver is the return\n value of a previous call to the OrthancPluginMoveCallback()\n callback.\n\n @param moveDriver The C-Move driver of interest.\n @ingroup DicomCallbacks"]
1244pub type OrthancPluginFreeMove =
1245    ::std::option::Option<unsafe extern "C" fn(moveDriver: *mut ::std::os::raw::c_void)>;
1246#[doc = " @brief Callback to finalize one custom job.\n\n Signature of a callback function that releases all the resources\n allocated by the given job. This job is the argument provided to\n OrthancPluginCreateJob().\n\n @param job The job of interest.\n @ingroup Toolbox"]
1247pub type OrthancPluginJobFinalize =
1248    ::std::option::Option<unsafe extern "C" fn(job: *mut ::std::os::raw::c_void)>;
1249#[doc = " @brief Callback to check the progress of one custom job.\n\n Signature of a callback function that returns the progress of the\n job.\n\n @param job The job of interest.\n @return The progress, as a floating-point number ranging from 0 to 1.\n @ingroup Toolbox"]
1250pub type OrthancPluginJobGetProgress =
1251    ::std::option::Option<unsafe extern "C" fn(job: *mut ::std::os::raw::c_void) -> f32>;
1252#[doc = " @brief Callback to retrieve the content of one custom job.\n\n Signature of a callback function that returns human-readable\n statistics about the job. This statistics must be formatted as a\n JSON object. This information is notably displayed in the \"Jobs\"\n tab of \"Orthanc Explorer\".\n\n @param job The job of interest.\n @return The statistics, as a JSON object encoded as a string.\n @ingroup Toolbox"]
1253pub type OrthancPluginJobGetContent = ::std::option::Option<
1254    unsafe extern "C" fn(job: *mut ::std::os::raw::c_void) -> *const ::std::os::raw::c_char,
1255>;
1256#[doc = " @brief Callback to serialize one custom job.\n\n Signature of a callback function that returns a serialized\n version of the job, formatted as a JSON object. This\n serialization is stored in the Orthanc database, and is used to\n reload the job on the restart of Orthanc. The \"unserialization\"\n callback (with OrthancPluginJobsUnserializer signature) will\n receive this serialized object.\n\n @param job The job of interest.\n @return The serialized job, as a JSON object encoded as a string.\n @see OrthancPluginRegisterJobsUnserializer()\n @ingroup Toolbox"]
1257pub type OrthancPluginJobGetSerialized = ::std::option::Option<
1258    unsafe extern "C" fn(job: *mut ::std::os::raw::c_void) -> *const ::std::os::raw::c_char,
1259>;
1260#[doc = " @brief Callback to execute one step of a custom job.\n\n Signature of a callback function that executes one step in the\n job. The jobs engine of Orthanc will make successive calls to\n this method, as long as it returns\n OrthancPluginJobStepStatus_Continue.\n\n @param job The job of interest.\n @return The status of execution.\n @ingroup Toolbox"]
1261pub type OrthancPluginJobStep = ::std::option::Option<
1262    unsafe extern "C" fn(job: *mut ::std::os::raw::c_void) -> OrthancPluginJobStepStatus,
1263>;
1264#[doc = " @brief Callback executed once one custom job leaves the \"running\" state.\n\n Signature of a callback function that is invoked once a job\n leaves the \"running\" state. This can happen if the previous call\n to OrthancPluginJobStep has failed/succeeded, if the host Orthanc\n server is being stopped, or if the user manually tags the job as\n paused/canceled. This callback allows the plugin to free\n resources allocated for running this custom job (e.g. to stop\n threads, or to remove temporary files).\n\n Note that handling pauses might involves a specific treatment\n (such a stopping threads, but keeping temporary files on the\n disk). This \"paused\" situation can be checked by looking at the\n \"reason\" parameter.\n\n @param job The job of interest.\n @param reason The reason for leaving the \"running\" state.\n @return 0 if success, or the error code if failure.\n @ingroup Toolbox"]
1265pub type OrthancPluginJobStop = ::std::option::Option<
1266    unsafe extern "C" fn(
1267        job: *mut ::std::os::raw::c_void,
1268        reason: OrthancPluginJobStopReason,
1269    ) -> OrthancPluginErrorCode,
1270>;
1271#[doc = " @brief Callback executed once one stopped custom job is started again.\n\n Signature of a callback function that is invoked once a job\n leaves the \"failure/canceled\" state, to be started again. This\n function will typically reset the progress to zero. Note that\n before being actually executed, the job would first be tagged as\n \"pending\" in the Orthanc jobs engine.\n\n @param job The job of interest.\n @return 0 if success, or the error code if failure.\n @ingroup Toolbox"]
1272pub type OrthancPluginJobReset = ::std::option::Option<
1273    unsafe extern "C" fn(job: *mut ::std::os::raw::c_void) -> OrthancPluginErrorCode,
1274>;
1275#[doc = " @brief Callback executed to unserialize a custom job.\n\n Signature of a callback function that unserializes a job that was\n saved in the Orthanc database.\n\n @param jobType The type of the job, as provided to OrthancPluginCreateJob().\n @param serialized The serialization of the job, as provided by OrthancPluginJobGetSerialized.\n @return The unserialized job (as created by OrthancPluginCreateJob()), or NULL\n if this unserializer cannot handle this job type.\n @see OrthancPluginRegisterJobsUnserializer()\n @ingroup Callbacks"]
1276pub type OrthancPluginJobsUnserializer = ::std::option::Option<
1277    unsafe extern "C" fn(
1278        jobType: *const ::std::os::raw::c_char,
1279        serialized: *const ::std::os::raw::c_char,
1280    ) -> *mut OrthancPluginJob,
1281>;
1282#[doc = " @brief Callback executed to update the metrics of the plugin.\n\n Signature of a callback function that is called by Orthanc\n whenever a monitoring tool (such as Prometheus) asks the current\n values of the metrics. This callback gives the plugin a chance to\n update its metrics, by calling OrthancPluginSetMetricsValue().\n This is typically useful for metrics that are expensive to\n acquire.\n\n @see OrthancPluginRegisterRefreshMetrics()\n @ingroup Callbacks"]
1283pub type OrthancPluginRefreshMetricsCallback = ::std::option::Option<unsafe extern "C" fn()>;
1284#[doc = " @brief Callback executed to encode a binary tag in DICOMweb.\n\n Signature of a callback function that is called by Orthanc\n whenever a DICOM tag that contains a binary value must be written\n to a JSON or XML node, while a DICOMweb document is being\n generated. The value representation (VR) of the DICOM tag can be\n OB, OD, OF, OL, OW, or UN.\n\n @see OrthancPluginEncodeDicomWebJson() and OrthancPluginEncodeDicomWebXml()\n @param node The node being generated, as provided by Orthanc.\n @param setter The setter to be used to encode the content of the node. If\n the setter is not called, the binary tag is not written to the output document.\n @param levelDepth The depth of the node in the DICOM hierarchy of sequences.\n This parameter gives the number of elements in the \"levelTagGroup\",\n \"levelTagElement\", and \"levelIndex\" arrays.\n @param levelTagGroup The group of the parent DICOM tags in the hierarchy.\n @param levelTagElement The element of the parent DICOM tags in the hierarchy.\n @param levelIndex The index of the node in the parent sequences of the hierarchy.\n @param tagGroup The group of the DICOM tag of interest.\n @param tagElement The element of the DICOM tag of interest.\n @param vr The value representation of the binary DICOM node.\n @ingroup Callbacks"]
1285pub type OrthancPluginDicomWebBinaryCallback = ::std::option::Option<
1286    unsafe extern "C" fn(
1287        node: *mut OrthancPluginDicomWebNode,
1288        setter: OrthancPluginDicomWebSetBinaryNode,
1289        levelDepth: u32,
1290        levelTagGroup: *const u16,
1291        levelTagElement: *const u16,
1292        levelIndex: *const u32,
1293        tagGroup: u16,
1294        tagElement: u16,
1295        vr: OrthancPluginValueRepresentation,
1296    ),
1297>;
1298#[doc = " @brief Callback executed to encode a binary tag in DICOMweb.\n\n Signature of a callback function that is called by Orthanc\n whenever a DICOM tag that contains a binary value must be written\n to a JSON or XML node, while a DICOMweb document is being\n generated. The value representation (VR) of the DICOM tag can be\n OB, OD, OF, OL, OW, or UN.\n\n @see OrthancPluginEncodeDicomWebJson() and OrthancPluginEncodeDicomWebXml()\n @param node The node being generated, as provided by Orthanc.\n @param setter The setter to be used to encode the content of the node. If\n the setter is not called, the binary tag is not written to the output document.\n @param levelDepth The depth of the node in the DICOM hierarchy of sequences.\n This parameter gives the number of elements in the \"levelTagGroup\",\n \"levelTagElement\", and \"levelIndex\" arrays.\n @param levelTagGroup The group of the parent DICOM tags in the hierarchy.\n @param levelTagElement The element of the parent DICOM tags in the hierarchy.\n @param levelIndex The index of the node in the parent sequences of the hierarchy.\n @param tagGroup The group of the DICOM tag of interest.\n @param tagElement The element of the DICOM tag of interest.\n @param vr The value representation of the binary DICOM node.\n @param payload The user payload.\n @ingroup Callbacks"]
1299pub type OrthancPluginDicomWebBinaryCallback2 = ::std::option::Option<
1300    unsafe extern "C" fn(
1301        node: *mut OrthancPluginDicomWebNode,
1302        setter: OrthancPluginDicomWebSetBinaryNode,
1303        levelDepth: u32,
1304        levelTagGroup: *const u16,
1305        levelTagElement: *const u16,
1306        levelIndex: *const u32,
1307        tagGroup: u16,
1308        tagElement: u16,
1309        vr: OrthancPluginValueRepresentation,
1310        payload: *mut ::std::os::raw::c_void,
1311    ),
1312>;
1313#[doc = " @brief Data structure that contains information about the Orthanc core."]
1314#[repr(C)]
1315#[derive(Debug, Copy, Clone)]
1316pub struct _OrthancPluginContext_t {
1317    pub pluginsManager: *mut ::std::os::raw::c_void,
1318    pub orthancVersion: *const ::std::os::raw::c_char,
1319    pub Free: OrthancPluginFree,
1320    pub InvokeService: ::std::option::Option<
1321        unsafe extern "C" fn(
1322            context: *mut _OrthancPluginContext_t,
1323            service: _OrthancPluginService,
1324            params: *const ::std::os::raw::c_void,
1325        ) -> OrthancPluginErrorCode,
1326    >,
1327}
1328#[doc = " @brief Data structure that contains information about the Orthanc core."]
1329pub type OrthancPluginContext = _OrthancPluginContext_t;
1330#[doc = " @brief An entry in the dictionary of DICOM tags."]
1331#[repr(C)]
1332#[derive(Debug, Copy, Clone)]
1333pub struct OrthancPluginDictionaryEntry {
1334    #[doc = "< The group of the tag"]
1335    pub group: u16,
1336    #[doc = "< The element of the tag"]
1337    pub element: u16,
1338    #[doc = "< The value representation of the tag"]
1339    pub vr: OrthancPluginValueRepresentation,
1340    #[doc = "< The minimum multiplicity of the tag"]
1341    pub minMultiplicity: u32,
1342    #[doc = "< The maximum multiplicity of the tag (0 means arbitrary)"]
1343    pub maxMultiplicity: u32,
1344}
1345#[doc = " @brief Callback executed when a HTTP header is received during a chunked transfer.\n\n Signature of a callback function that is called by Orthanc acting\n as a HTTP client during a chunked HTTP transfer, as soon as it\n receives one HTTP header from the answer of the remote HTTP\n server.\n\n @see OrthancPluginChunkedHttpClient()\n @param answer The user payload, as provided by the calling plugin.\n @param key The key of the HTTP header.\n @param value The value of the HTTP header.\n @return 0 if success, or the error code if failure.\n @ingroup Toolbox"]
1346pub type OrthancPluginChunkedClientAnswerAddHeader = ::std::option::Option<
1347    unsafe extern "C" fn(
1348        answer: *mut ::std::os::raw::c_void,
1349        key: *const ::std::os::raw::c_char,
1350        value: *const ::std::os::raw::c_char,
1351    ) -> OrthancPluginErrorCode,
1352>;
1353#[doc = " @brief Callback executed when an answer chunk is received during a chunked transfer.\n\n Signature of a callback function that is called by Orthanc acting\n as a HTTP client during a chunked HTTP transfer, as soon as it\n receives one data chunk from the answer of the remote HTTP\n server.\n\n @see OrthancPluginChunkedHttpClient()\n @param answer The user payload, as provided by the calling plugin.\n @param data The content of the data chunk.\n @param size The size of the data chunk.\n @return 0 if success, or the error code if failure.\n @ingroup Toolbox"]
1354pub type OrthancPluginChunkedClientAnswerAddChunk = ::std::option::Option<
1355    unsafe extern "C" fn(
1356        answer: *mut ::std::os::raw::c_void,
1357        data: *const ::std::os::raw::c_void,
1358        size: u32,
1359    ) -> OrthancPluginErrorCode,
1360>;
1361#[doc = " @brief Callback to know whether the request body is entirely read during a chunked transfer\n\n Signature of a callback function that is called by Orthanc acting\n as a HTTP client during a chunked HTTP transfer, while reading\n the body of a POST or PUT request. The plugin must answer \"1\" as\n soon as the body is entirely read: The \"request\" data structure\n must act as an iterator.\n\n @see OrthancPluginChunkedHttpClient()\n @param request The user payload, as provided by the calling plugin.\n @return \"1\" if the body is over, or \"0\" if there is still data to be read.\n @ingroup Toolbox"]
1362pub type OrthancPluginChunkedClientRequestIsDone =
1363    ::std::option::Option<unsafe extern "C" fn(request: *mut ::std::os::raw::c_void) -> u8>;
1364#[doc = " @brief Callback to advance in the request body during a chunked transfer\n\n Signature of a callback function that is called by Orthanc acting\n as a HTTP client during a chunked HTTP transfer, while reading\n the body of a POST or PUT request. This function asks the plugin\n to advance to the next chunk of data of the request body: The\n \"request\" data structure must act as an iterator.\n\n @see OrthancPluginChunkedHttpClient()\n @param request The user payload, as provided by the calling plugin.\n @return 0 if success, or the error code if failure.\n @ingroup Toolbox"]
1365pub type OrthancPluginChunkedClientRequestNext = ::std::option::Option<
1366    unsafe extern "C" fn(request: *mut ::std::os::raw::c_void) -> OrthancPluginErrorCode,
1367>;
1368#[doc = " @brief Callback to read the current chunk of the request body during a chunked transfer\n\n Signature of a callback function that is called by Orthanc acting\n as a HTTP client during a chunked HTTP transfer, while reading\n the body of a POST or PUT request. The plugin must provide the\n content of the current chunk of data of the request body.\n\n @see OrthancPluginChunkedHttpClient()\n @param request The user payload, as provided by the calling plugin.\n @return The content of the current request chunk.\n @ingroup Toolbox"]
1369pub type OrthancPluginChunkedClientRequestGetChunkData = ::std::option::Option<
1370    unsafe extern "C" fn(request: *mut ::std::os::raw::c_void) -> *const ::std::os::raw::c_void,
1371>;
1372#[doc = " @brief Callback to read the size of the current request chunk during a chunked transfer\n\n Signature of a callback function that is called by Orthanc acting\n as a HTTP client during a chunked HTTP transfer, while reading\n the body of a POST or PUT request. The plugin must provide the\n size of the current chunk of data of the request body.\n\n @see OrthancPluginChunkedHttpClient()\n @param request The user payload, as provided by the calling plugin.\n @return The size of the current request chunk.\n @ingroup Toolbox"]
1373pub type OrthancPluginChunkedClientRequestGetChunkSize =
1374    ::std::option::Option<unsafe extern "C" fn(request: *mut ::std::os::raw::c_void) -> u32>;
1375#[repr(C)]
1376#[derive(Debug, Copy, Clone)]
1377pub struct _OrthancPluginServerChunkedRequestReader_t {
1378    _unused: [u8; 0],
1379}
1380#[doc = " @brief Opaque structure that reads the content of a HTTP request body during a chunked HTTP transfer.\n @ingroup Callbacks"]
1381pub type OrthancPluginServerChunkedRequestReader = _OrthancPluginServerChunkedRequestReader_t;
1382#[doc = " @brief Callback to create a reader to handle incoming chunked HTTP transfers.\n\n Signature of a callback function that is called by Orthanc acting\n as a HTTP server that supports chunked HTTP transfers. This\n callback is only invoked if the HTTP method is POST or PUT. The\n callback must create an user-specific \"reader\" object that will\n be fed with the body of the incoming body.\n\n @see OrthancPluginRegisterChunkedRestCallback()\n @param reader Memory location that must be filled with the newly-created reader.\n @param url The URI that is accessed.\n @param request The body of the HTTP request. Note that \"body\" and \"bodySize\" are not used.\n @return 0 if success, or the error code if failure."]
1383pub type OrthancPluginServerChunkedRequestReaderFactory = ::std::option::Option<
1384    unsafe extern "C" fn(
1385        reader: *mut *mut OrthancPluginServerChunkedRequestReader,
1386        url: *const ::std::os::raw::c_char,
1387        request: *const OrthancPluginHttpRequest,
1388    ) -> OrthancPluginErrorCode,
1389>;
1390#[doc = " @brief Callback invoked whenever a new data chunk is available during a chunked transfer.\n\n Signature of a callback function that is called by Orthanc acting\n as a HTTP server that supports chunked HTTP transfers. This callback\n is invoked as soon as a new data chunk is available for the request body.\n\n @see OrthancPluginRegisterChunkedRestCallback()\n @param reader The user payload, as created by the OrthancPluginServerChunkedRequestReaderFactory() callback.\n @param data The content of the data chunk.\n @param size The size of the data chunk.\n @return 0 if success, or the error code if failure."]
1391pub type OrthancPluginServerChunkedRequestReaderAddChunk = ::std::option::Option<
1392    unsafe extern "C" fn(
1393        reader: *mut OrthancPluginServerChunkedRequestReader,
1394        data: *const ::std::os::raw::c_void,
1395        size: u32,
1396    ) -> OrthancPluginErrorCode,
1397>;
1398#[doc = " @brief Callback invoked whenever the request body is entirely received.\n\n Signature of a callback function that is called by Orthanc acting\n as a HTTP server that supports chunked HTTP transfers. This\n callback is invoked as soon as the full body of the HTTP request\n is available. The plugin can then send its answer thanks to the\n provided \"output\" object.\n\n @see OrthancPluginRegisterChunkedRestCallback()\n @param reader The user payload, as created by the OrthancPluginServerChunkedRequestReaderFactory() callback.\n @param output The HTTP connection to the client application.\n @return 0 if success, or the error code if failure."]
1399pub type OrthancPluginServerChunkedRequestReaderExecute = ::std::option::Option<
1400    unsafe extern "C" fn(
1401        reader: *mut OrthancPluginServerChunkedRequestReader,
1402        output: *mut OrthancPluginRestOutput,
1403    ) -> OrthancPluginErrorCode,
1404>;
1405#[doc = " @brief Callback invoked to release the resources associated with an incoming HTTP chunked transfer.\n\n Signature of a callback function that is called by Orthanc acting\n as a HTTP server that supports chunked HTTP transfers. This\n callback is invoked to release all the resources allocated by the\n given reader. Note that this function might be invoked even if\n the entire body was not read, to deal with client error or\n disconnection.\n\n @see OrthancPluginRegisterChunkedRestCallback()\n @param reader The user payload, as created by the OrthancPluginServerChunkedRequestReaderFactory() callback."]
1406pub type OrthancPluginServerChunkedRequestReaderFinalize = ::std::option::Option<
1407    unsafe extern "C" fn(reader: *mut OrthancPluginServerChunkedRequestReader),
1408>;
1409#[doc = " @brief Callback executed by the storage commitment SCP.\n\n Signature of a factory function that creates an object to handle\n one incoming storage commitment request.\n\n @remark The factory receives the list of the SOP class/instance\n UIDs of interest to the remote storage commitment SCU. This gives\n the factory the possibility to start some prefetch process\n upfront in the background, before the handler object is actually\n queried about the status of these DICOM instances.\n\n @param handler Output variable where the factory puts the handler object it created.\n @param jobId ID of the Orthanc job that is responsible for handling\n the storage commitment request. This job will successively look for the\n status of all the individual queried DICOM instances.\n @param transactionUid UID of the storage commitment transaction\n provided by the storage commitment SCU. It contains the value of the\n (0008,1195) DICOM tag.\n @param sopClassUids Array of the SOP class UIDs (0008,0016) that are queried by the SCU.\n @param sopInstanceUids Array of the SOP instance UIDs (0008,0018) that are queried by the SCU.\n @param countInstances Number of DICOM instances that are queried. This is the size\n of the `sopClassUids` and `sopInstanceUids` arrays.\n @param remoteAet The AET of the storage commitment SCU.\n @param calledAet The AET used by the SCU to contact the storage commitment SCP (i.e. Orthanc).\n @return 0 if success, other value if error.\n @ingroup DicomCallbacks"]
1410pub type OrthancPluginStorageCommitmentFactory = ::std::option::Option<
1411    unsafe extern "C" fn(
1412        handler: *mut *mut ::std::os::raw::c_void,
1413        jobId: *const ::std::os::raw::c_char,
1414        transactionUid: *const ::std::os::raw::c_char,
1415        sopClassUids: *const *const ::std::os::raw::c_char,
1416        sopInstanceUids: *const *const ::std::os::raw::c_char,
1417        countInstances: u32,
1418        remoteAet: *const ::std::os::raw::c_char,
1419        calledAet: *const ::std::os::raw::c_char,
1420    ) -> OrthancPluginErrorCode,
1421>;
1422#[doc = " @brief Callback to free one storage commitment SCP handler.\n\n Signature of a callback function that releases the resources\n allocated by the factory of the storage commitment SCP. The\n handler is the return value of a previous call to the\n OrthancPluginStorageCommitmentFactory() callback.\n\n @param handler The handler object to be destructed.\n @ingroup DicomCallbacks"]
1423pub type OrthancPluginStorageCommitmentDestructor =
1424    ::std::option::Option<unsafe extern "C" fn(handler: *mut ::std::os::raw::c_void)>;
1425#[doc = " @brief Callback to get the status of one DICOM instance in the\n storage commitment SCP.\n\n Signature of a callback function that is successively invoked for\n each DICOM instance that is queried by the remote storage\n commitment SCU.  The function must be tought of as a method of\n the handler object that was created by a previous call to the\n OrthancPluginStorageCommitmentFactory() callback. After each call\n to this method, the progress of the associated Orthanc job is\n updated.\n\n @param target Output variable where to put the status for the queried instance.\n @param handler The handler object associated with this storage commitment request.\n @param sopClassUid The SOP class UID (0008,0016) of interest.\n @param sopInstanceUid The SOP instance UID (0008,0018) of interest.\n @ingroup DicomCallbacks"]
1426pub type OrthancPluginStorageCommitmentLookup = ::std::option::Option<
1427    unsafe extern "C" fn(
1428        target: *mut OrthancPluginStorageCommitmentFailureReason,
1429        handler: *mut ::std::os::raw::c_void,
1430        sopClassUid: *const ::std::os::raw::c_char,
1431        sopInstanceUid: *const ::std::os::raw::c_char,
1432    ) -> OrthancPluginErrorCode,
1433>;
1434#[doc = " @brief Callback to filter incoming DICOM instances received by Orthanc.\n\n Signature of a callback function that is triggered whenever\n Orthanc receives a new DICOM instance (e.g. through REST API or\n DICOM protocol), and that answers whether this DICOM instance\n should be accepted or discarded by Orthanc.\n\n Note that the metadata information is not available\n (i.e. GetInstanceMetadata() should not be used on \"instance\").\n\n @warning Your callback function will be called synchronously with\n the core of Orthanc. This implies that deadlocks might emerge if\n you call other core primitives of Orthanc in your callback (such\n deadlocks are particularly visible in the presence of other plugins\n or Lua scripts). It is thus strongly advised to avoid any call to\n the REST API of Orthanc in the callback. If you have to call\n other primitives of Orthanc, you should make these calls in a\n separate thread, passing the pending events to be processed\n through a message queue.\n\n @param instance The received DICOM instance.\n @return 0 to discard the instance, 1 to store the instance, -1 if error.\n @ingroup Callbacks"]
1435pub type OrthancPluginIncomingDicomInstanceFilter =
1436    ::std::option::Option<unsafe extern "C" fn(instance: *const OrthancPluginDicomInstance) -> i32>;
1437#[doc = " @brief Callback to filter incoming DICOM instances received by\n Orthanc through C-STORE.\n\n Signature of a callback function that is triggered whenever\n Orthanc receives a new DICOM instance using DICOM C-STORE, and\n that answers whether this DICOM instance should be accepted or\n discarded by Orthanc. If the instance is discarded, the callback\n can specify the DIMSE error code answered by the Orthanc C-STORE\n SCP.\n\n Note that the metadata information is not available\n (i.e. GetInstanceMetadata() should not be used on \"instance\").\n\n @warning Your callback function will be called synchronously with\n the core of Orthanc. This implies that deadlocks might emerge if\n you call other core primitives of Orthanc in your callback (such\n deadlocks are particularly visible in the presence of other plugins\n or Lua scripts). It is thus strongly advised to avoid any call to\n the REST API of Orthanc in the callback. If you have to call\n other primitives of Orthanc, you should make these calls in a\n separate thread, passing the pending events to be processed\n through a message queue.\n\n @param dimseStatus If the DICOM instance is discarded,\n DIMSE status to be sent by the C-STORE SCP of Orthanc\n @param instance The received DICOM instance.\n @return 0 to discard the instance, 1 to store the instance, -1 if error.\n @ingroup Callbacks"]
1438pub type OrthancPluginIncomingCStoreInstanceFilter = ::std::option::Option<
1439    unsafe extern "C" fn(dimseStatus: *mut u16, instance: *const OrthancPluginDicomInstance) -> i32,
1440>;
1441#[doc = " @brief Callback to keep/discard/modify a DICOM instance received\n by Orthanc from any source (C-STORE or REST API)\n\n Signature of a callback function that is triggered whenever\n Orthanc receives a new DICOM instance (through DICOM protocol or\n REST API), and that specifies an action to be applied to this\n newly received instance. The instance can be kept as it is, can\n be modified by the plugin, or can be discarded.\n\n This callback is invoked immediately after reception, i.e. before\n transcoding and before filtering\n (cf. OrthancPluginRegisterIncomingDicomInstanceFilter()).\n\n @warning Your callback function will be called synchronously with\n the core of Orthanc. This implies that deadlocks might emerge if\n you call other core primitives of Orthanc in your callback (such\n deadlocks are particularly visible in the presence of other plugins\n or Lua scripts). It is thus strongly advised to avoid any call to\n the REST API of Orthanc in the callback. If you have to call\n other primitives of Orthanc, you should make these calls in a\n separate thread, passing the pending events to be processed\n through a message queue.\n\n @param modifiedDicomBuffer A buffer containing the modified DICOM (output).\n This buffer must be allocated using OrthancPluginCreateMemoryBuffer64()\n and will be freed by the Orthanc core.\n @param receivedDicomBuffer A buffer containing the received DICOM (input).\n @param receivedDicomBufferSize The size of the received DICOM (input).\n @param origin The origin of the DICOM instance (input).\n @return `OrthancPluginReceivedInstanceAction_KeepAsIs` to accept the instance as is,<br/>\n         `OrthancPluginReceivedInstanceAction_Modify` to store the modified DICOM contained in `modifiedDicomBuffer`,<br/>\n         `OrthancPluginReceivedInstanceAction_Discard` to tell Orthanc to discard the instance.\n @ingroup Callbacks"]
1442pub type OrthancPluginReceivedInstanceCallback = ::std::option::Option<
1443    unsafe extern "C" fn(
1444        modifiedDicomBuffer: *mut OrthancPluginMemoryBuffer64,
1445        receivedDicomBuffer: *const ::std::os::raw::c_void,
1446        receivedDicomBufferSize: u64,
1447        origin: OrthancPluginInstanceOrigin,
1448    ) -> OrthancPluginReceivedInstanceAction,
1449>;
1450#[doc = " @brief Signature of a callback function to transcode a DICOM instance.\n @param transcoded Target memory buffer. It must be allocated by the\n plugin using OrthancPluginCreateMemoryBuffer().\n @param buffer Memory buffer containing the source DICOM instance.\n @param size Size of the source memory buffer.\n @param allowedSyntaxes A C array of possible transfer syntaxes UIDs for the\n result of the transcoding. The plugin must choose by itself the\n transfer syntax that will be used for the resulting DICOM image.\n @param countSyntaxes The number of transfer syntaxes that are contained\n in the \"allowedSyntaxes\" array.\n @param allowNewSopInstanceUid Whether the transcoding plugin can select\n a transfer syntax that will change the SOP instance UID (or, in other\n terms, whether the plugin can transcode using lossy compression).\n @return 0 if success (i.e. image successfully transcoded and stored into\n \"transcoded\"), or the error code if failure.\n @ingroup Callbacks"]
1451pub type OrthancPluginTranscoderCallback = ::std::option::Option<
1452    unsafe extern "C" fn(
1453        transcoded: *mut OrthancPluginMemoryBuffer,
1454        buffer: *const ::std::os::raw::c_void,
1455        size: u64,
1456        allowedSyntaxes: *const *const ::std::os::raw::c_char,
1457        countSyntaxes: u32,
1458        allowNewSopInstanceUid: u8,
1459    ) -> OrthancPluginErrorCode,
1460>;
1461#[repr(C)]
1462#[derive(Debug, Copy, Clone)]
1463pub struct _OrthancPluginWebDavCollection_t {
1464    _unused: [u8; 0],
1465}
1466#[doc = " @brief Opaque structure that represents a WebDAV collection.\n @ingroup Callbacks"]
1467pub type OrthancPluginWebDavCollection = _OrthancPluginWebDavCollection_t;
1468#[doc = " @brief Declare a file while returning the content of a folder.\n\n This function declares a file while returning the content of a\n WebDAV folder.\n\n @param collection Context of the collection.\n @param name Base name of the file.\n @param dateTime The date and time of creation of the file.\n Check out the documentation of OrthancPluginWebDavRetrieveFile() for more information.\n @param size Size of the file.\n @param mimeType The MIME type of the file. If empty or set to `NULL`,\n Orthanc will do a best guess depending on the file extension.\n @return 0 if success, other value if error.\n @ingroup Callbacks"]
1469pub type OrthancPluginWebDavAddFile = ::std::option::Option<
1470    unsafe extern "C" fn(
1471        collection: *mut OrthancPluginWebDavCollection,
1472        name: *const ::std::os::raw::c_char,
1473        size: u64,
1474        mimeType: *const ::std::os::raw::c_char,
1475        dateTime: *const ::std::os::raw::c_char,
1476    ) -> OrthancPluginErrorCode,
1477>;
1478#[doc = " @brief Declare a subfolder while returning the content of a folder.\n\n This function declares a subfolder while returning the content of a\n WebDAV folder.\n\n @param collection Context of the collection.\n @param name Base name of the subfolder.\n @param dateTime The date and time of creation of the subfolder.\n Check out the documentation of OrthancPluginWebDavRetrieveFile() for more information.\n @return 0 if success, other value if error.\n @ingroup Callbacks"]
1479pub type OrthancPluginWebDavAddFolder = ::std::option::Option<
1480    unsafe extern "C" fn(
1481        collection: *mut OrthancPluginWebDavCollection,
1482        name: *const ::std::os::raw::c_char,
1483        dateTime: *const ::std::os::raw::c_char,
1484    ) -> OrthancPluginErrorCode,
1485>;
1486#[doc = " @brief Retrieve the content of a file.\n\n This function is used to forward the content of a file from a\n WebDAV collection, to the core of Orthanc.\n\n @param collection Context of the collection.\n @param data Content of the file.\n @param size Size of the file.\n @param mimeType The MIME type of the file. If empty or set to `NULL`,\n Orthanc will do a best guess depending on the file extension.\n @param dateTime The date and time of creation of the file.\n It must be formatted as an ISO string of form\n `YYYYMMDDTHHMMSS,fffffffff` where T is the date-time\n separator. It must be expressed in UTC (it is the responsibility\n of the plugin to do the possible timezone\n conversions). Internally, this string will be parsed using\n `boost::posix_time::from_iso_string()`.\n @return 0 if success, other value if error.\n @ingroup Callbacks"]
1487pub type OrthancPluginWebDavRetrieveFile = ::std::option::Option<
1488    unsafe extern "C" fn(
1489        collection: *mut OrthancPluginWebDavCollection,
1490        data: *const ::std::os::raw::c_void,
1491        size: u64,
1492        mimeType: *const ::std::os::raw::c_char,
1493        dateTime: *const ::std::os::raw::c_char,
1494    ) -> OrthancPluginErrorCode,
1495>;
1496#[doc = " @brief Callback for testing the existence of a folder.\n\n Signature of a callback function that tests whether the given\n path in the WebDAV collection exists and corresponds to a folder.\n\n @param isExisting Pointer to a Boolean that must be set to `1` if the folder exists, or `0` otherwise.\n @param pathSize Number of levels in the path.\n @param pathItems Items making the path.\n @param payload The user payload.\n @return 0 if success, other value if error.\n @ingroup Callbacks"]
1497pub type OrthancPluginWebDavIsExistingFolderCallback = ::std::option::Option<
1498    unsafe extern "C" fn(
1499        isExisting: *mut u8,
1500        pathSize: u32,
1501        pathItems: *const *const ::std::os::raw::c_char,
1502        payload: *mut ::std::os::raw::c_void,
1503    ) -> OrthancPluginErrorCode,
1504>;
1505#[doc = " @brief Callback for listing the content of a folder.\n\n Signature of a callback function that lists the content of a\n folder in the WebDAV collection. The callback must call the\n provided `addFile()` and `addFolder()` functions to emit the\n content of the folder.\n\n @param isExisting Pointer to a Boolean that must be set to `1` if the folder exists, or `0` otherwise.\n @param collection Context to be provided to `addFile()` and `addFolder()` functions.\n @param addFile Function to add a file to the list.\n @param addFolder Function to add a folder to the list.\n @param pathSize Number of levels in the path.\n @param pathItems Items making the path.\n @param payload The user payload.\n @return 0 if success, other value if error.\n @ingroup Callbacks"]
1506pub type OrthancPluginWebDavListFolderCallback = ::std::option::Option<
1507    unsafe extern "C" fn(
1508        isExisting: *mut u8,
1509        collection: *mut OrthancPluginWebDavCollection,
1510        addFile: OrthancPluginWebDavAddFile,
1511        addFolder: OrthancPluginWebDavAddFolder,
1512        pathSize: u32,
1513        pathItems: *const *const ::std::os::raw::c_char,
1514        payload: *mut ::std::os::raw::c_void,
1515    ) -> OrthancPluginErrorCode,
1516>;
1517#[doc = " @brief Callback for retrieving the content of a file.\n\n Signature of a callback function that retrieves the content of a\n file in the WebDAV collection. The callback must call the\n provided `retrieveFile()` function to emit the actual content of\n the file.\n\n @param collection Context to be provided to `retrieveFile()` function.\n @param retrieveFile Function to return the content of the file.\n @param pathSize Number of levels in the path.\n @param pathItems Items making the path.\n @param payload The user payload.\n @return 0 if success, other value if error.\n @ingroup Callbacks"]
1518pub type OrthancPluginWebDavRetrieveFileCallback = ::std::option::Option<
1519    unsafe extern "C" fn(
1520        collection: *mut OrthancPluginWebDavCollection,
1521        retrieveFile: OrthancPluginWebDavRetrieveFile,
1522        pathSize: u32,
1523        pathItems: *const *const ::std::os::raw::c_char,
1524        payload: *mut ::std::os::raw::c_void,
1525    ) -> OrthancPluginErrorCode,
1526>;
1527#[doc = " @brief Callback to store a file.\n\n Signature of a callback function that stores a file into the\n WebDAV collection.\n\n @param isReadOnly Pointer to a Boolean that must be set to `1` if the collection is read-only, or `0` otherwise.\n @param pathSize Number of levels in the path.\n @param pathItems Items making the path.\n @param data Content of the file to be stored.\n @param size Size of the file to be stored.\n @param payload The user payload.\n @return 0 if success, other value if error.\n @ingroup Callbacks"]
1528pub type OrthancPluginWebDavStoreFileCallback = ::std::option::Option<
1529    unsafe extern "C" fn(
1530        isReadOnly: *mut u8,
1531        pathSize: u32,
1532        pathItems: *const *const ::std::os::raw::c_char,
1533        data: *const ::std::os::raw::c_void,
1534        size: u64,
1535        payload: *mut ::std::os::raw::c_void,
1536    ) -> OrthancPluginErrorCode,
1537>;
1538#[doc = " @brief Callback to create a folder.\n\n Signature of a callback function that creates a folder in the\n WebDAV collection.\n\n @param isReadOnly Pointer to a Boolean that must be set to `1` if the collection is read-only, or `0` otherwise.\n @param pathSize Number of levels in the path.\n @param pathItems Items making the path.\n @param payload The user payload.\n @return 0 if success, other value if error.\n @ingroup Callbacks"]
1539pub type OrthancPluginWebDavCreateFolderCallback = ::std::option::Option<
1540    unsafe extern "C" fn(
1541        isReadOnly: *mut u8,
1542        pathSize: u32,
1543        pathItems: *const *const ::std::os::raw::c_char,
1544        payload: *mut ::std::os::raw::c_void,
1545    ) -> OrthancPluginErrorCode,
1546>;
1547#[doc = " @brief Callback to remove a file or a folder.\n\n Signature of a callback function that removes a file or a folder\n from the WebDAV collection.\n\n @param isReadOnly Pointer to a Boolean that must be set to `1` if the collection is read-only, or `0` otherwise.\n @param pathSize Number of levels in the path.\n @param pathItems Items making the path.\n @param payload The user payload.\n @return 0 if success, other value if error.\n @ingroup Callbacks"]
1548pub type OrthancPluginWebDavDeleteItemCallback = ::std::option::Option<
1549    unsafe extern "C" fn(
1550        isReadOnly: *mut u8,
1551        pathSize: u32,
1552        pathItems: *const *const ::std::os::raw::c_char,
1553        payload: *mut ::std::os::raw::c_void,
1554    ) -> OrthancPluginErrorCode,
1555>;