IDS peak genericC++ v1.7.3
Loading...
Searching...
No Matches
GenTL_v1_5.h
Go to the documentation of this file.
1/****************************************************************************
2(c) 2004-2015 by GenICam GenTL Subcommittee
3
4License: This file is published under the license of the EMVA GenICam Standard Group.
5A text file describing the legal terms is included in your installation as 'license.txt'.
6If for some reason you are missing this file please contact the EMVA or visit the website
7(http://www.genicam.org) for a full copy.
8
9THIS SOFTWARE IS PROVIDED BY THE EMVA GENICAM STANDARD GROUP "AS IS"
10AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
11THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
12PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE EMVA GENICAM STANDARD GROUP
13OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
14EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
15PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
16OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
17WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
18ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
19POSSIBILITY OF SUCH DAMAGE.
20
21******************************************************************************/
22
23/* \file GenTL.h
24 * \brief GenICam Transport Layer Client Interface
25 * \version 1.5
26 * \author GenTL Subcommittee
27 * \date 2015
28 *
29 * \par Version history
30 * \li Version 0.1.0 First official version from the meeting in Pilsen
31 * \li Version 0.1.1 rst (SI) 0.4.160
32 * - added _E_INTERFACE_INFO_CMD_LIST_T_ enum name
33 * - added _E_DEVICE_ACCCESS_STATUS_TYPE_T_ to be used
34 * with the /a IFGetDeviceInfo and DevGetInfo
35 * - rename of the enum value DEVICE_INFO_ACCESSMODE to
36 * DEVICE_INFO_ACCESS_STATUS which now refers to
37 * _E_DEVICE_ACCCESS_STATUS_TYPE_T_
38 * - added Timeout parameter to update interface list and
39 * device list.
40 * \li Version 0.1.2 - change datatype of timeout parameter of
41 * TLUpdateInterfaceList and IFUpdateDeviceList to
42 * uint64_t to match with the timeout in the event object.
43 * - changed all enums to have a typedef to uint32_t
44 * with them to allow custom ids
45 * - changed type of string constants to be char * instead
46 * of gcstring
47 * \li Version 0.1.3 rst (SI), cbi (IDS) 0.4.163
48 * - adjusted parameter names to be closer aligned with
49 * the standard text
50 * - changed typedefs for enums from uint32_t to int32_t
51 * - removed default parameter
52 * - added parameter name to DevGetPort function
53 * \li Version 0.1.4 jb (LV)
54 * - fixes to align the file with standard text
55 * - make the file self-contained, independent on GenApi
56 * \li Version 0.1.5 rst (SI) cbi (IDS) jb (LV) tho (MVTec)
57 * - Adjust it for Linux
58 * - Cosmetics
59 * \li Version 1.0 rst (SI) cbi (IDS) jb (LV) tho (MVTec)
60 * - Adjust for Standard 1.0
61 * - Make it plain C compliant
62 * - Cosmetics
63 * \li Version 1.2 rst (SI) jb (LV) tho (MVTec)
64 * - Adjust for Standard 1.2
65 * - adjust packing
66 * - Cosmetics
67 * \li Version 1.3 (Stemmer, Leutron, Matrix Vision, MVTec, MathWorks)
68 * - Adjust for Standard 1.3
69 * - added chunk handling
70 * - added Mac OS X
71 * - Cosmetics
72 * \li Version 1.3.1 (MathWorks)
73 * - Spelling corrections in comments
74 * \li Version 1.4 GenTL Subcommittee
75 * \li Version 1.5 GenTL Subcommittee
76 * - Changed namespace to GenTL
77 * - Changes for GenTL 1.5, Please refer to the GenTL spec
78 * for a list of changes.
79 */
80
81
82#ifndef GC_TLI_CLIENT_H_
83#define GC_TLI_CLIENT_H_ 1
84
85#ifndef GC_USER_DEFINED_TYPES
86/* The types should be the same as defined in GCTypes.h from GenApi. But in
87 * case you do not have this header the necessary types are defined here. */
88# if defined(_WIN32)
89# if defined(_MSC_VER) && _MSC_VER >= 1600 /* VS2010 provides stdint.h */
90# include <stdint.h>
91# elif !defined _STDINT_H && !defined _STDINT
92/* stdint.h is usually not available under Windows */
93typedef unsigned char uint8_t;
94typedef __int32 int32_t;
95typedef unsigned __int32 uint32_t;
96typedef unsigned __int64 uint64_t;
97# endif
98# else
99# include <stdint.h>
100# endif
101
102# ifdef __cplusplus
103typedef bool bool8_t;
104# else
105typedef uint8_t bool8_t;
106# endif
107#endif /* GC_DEFINE_TYPES */
108
109#include <stddef.h>
110
111
112/* Function declaration modifiers */
113#if defined(_WIN32)
114# ifndef GCTLI_NO_DECLSPEC_STATEMENTS
115# ifdef GCTLIDLL
116# define GC_IMPORT_EXPORT __declspec(dllexport)
117# else
118# define GC_IMPORT_EXPORT __declspec(dllimport)
119# endif
120# else
121# define GC_IMPORT_EXPORT
122# endif /* # ifndef GCTLI_NO_DECLSPEC_STATEMENTS */
123# if defined(_M_IX86) || defined(__i386__)
124# define GC_CALLTYPE __stdcall
125# else
126# define GC_CALLTYPE /* default */
127# endif
128# ifndef EXTERN_C
129# define EXTERN_C extern "C"
130# endif
131
132#elif defined(__GNUC__) && (__GNUC__ >= 4) && (defined(__linux__) || defined(__APPLE__))
133# define GC_IMPORT_EXPORT __attribute__((visibility("default")))
134# if defined(__i386__)
135# define GC_CALLTYPE __attribute__((stdcall))
136# else
137# define GC_CALLTYPE /* default */
138# endif
139# ifndef EXTERN_C
140# define EXTERN_C extern "C"
141# endif
142
143#else
144# error Unknown platform, file needs adaption
145#endif
146
147#ifdef __cplusplus
148extern "C" {
149namespace GenTL
150{
151#endif
152
153/* Errors */
155{
166 GC_ERR_IO = -1010,
168 GC_ERR_ABORT = -1012, /* GenTL v1.1 */
169 GC_ERR_INVALID_BUFFER = -1013, /* GenTL v1.1 */
170 GC_ERR_NOT_AVAILABLE = -1014, /* GenTL v1.2 */
171 GC_ERR_INVALID_ADDRESS = -1015, /* GenTL v1.3 */
172 GC_ERR_BUFFER_TOO_SMALL = -1016, /* GenTL v1.4 */
173 GC_ERR_INVALID_INDEX = -1017, /* GenTL v1.4 */
174 GC_ERR_PARSING_CHUNK_DATA = -1018, /* GenTL v1.4 */
175 GC_ERR_INVALID_VALUE = -1019, /* GenTL v1.4 */
176 GC_ERR_RESOURCE_EXHAUSTED = -1020, /* GenTL v1.4 */
177 GC_ERR_OUT_OF_MEMORY = -1021, /* GenTL v1.4 */
178 GC_ERR_BUSY = -1022, /* GenTL v1.5 */
179
180 GC_ERR_CUSTOM_ID = -10000
182typedef int32_t GC_ERROR;
183
184#ifndef GC_GENTL_HEADER_VERSION
185
186# define GenTLMajorVersion \
187 1 /* defines the major version of the GenICam GenTL standard version this header is based on */
188# define GenTLMinorVersion \
189 5 /* defines the minor version of the GenICam GenTL standard version this header is based on */
190# define GenTLSubMinorVersion \
191 0 /* defines the sub minor version of the GenICam GenTL standard version this header is based on */
192
193# define GC_GENTL_HEADER_VERSION_CODE(major, minor, subminor) (((major) << 24) + ((minor) << 16) + (subminor))
194# define GC_GENTL_HEADER_VERSION \
195 GC_GENTL_HEADER_VERSION_CODE(GenTLMajorVersion, GenTLMinorVersion, GenTLSubMinorVersion)
196
197#endif /* GC_GENTL_HEADER_VERSION */
198
199#ifndef GC_GENTL_DONT_USE_TYPE_DEFINITIONS
200# define TLTypeMixedName "Mixed" /* Type to use for several supported technologies */
201# define TLTypeCustomName "Custom" /* Type to use for custom technologies */
202# define TLTypeGEVName "GEV" /* Type to use for GigE Vision technology */
203# define TLTypeCLName "CL" /* Type to use for Camera Link technology */
204# define TLTypeIIDCName "IIDC" /* Type to use for IIDC 1394 technology */
205# define TLTypeUVCName "UVC" /* Type to use for USB video class devices */
206# define TLTypeCXPName "CXP" /* Type to use for CoaXPress, V1.3 */
207# define TLTypeCLHSName "CLHS" /* Type to use for Camera Link HS, V1.3 */
208# define TLTypeU3VName "U3V" /* Type to use for USB3 Vision Standard, V1.4 */
209# define TLTypeETHERNETName "Ethernet" /* Type to use for Ethernet devices, V1.3 */
210# define TLTypePCIName "PCI" /* Type to use for PCI/PCIe devices, V1.3 */
211#endif /* GC_GENTL_DONT_USE_TYPE_DEFINITIONS */
212
213#ifndef GC_GENTL_DONT_USE_MODULE_NAMES
214# define TLSystemModuleName "TLSystem" /* Name to identify a system module */
215# define TLInterfaceModuleName "TLInterface" /* Name to identify a interface module */
216# define TLDeviceModuleName "TLDevice" /* Name to identify a device module */
217# define TLDataStreamModuleName "TLDataStream" /* Name to identify a data stream module */
218# define TLBufferModuleName "TLBuffer" /* Name to identify a buffer module */
219# define TLRemoteDeviceModuleName "Device" /* Name to identify a remote device module */
220#endif /* GC_GENTL_DONT_USE_MODULE_NAMES */
221
222/* Handles */
223typedef void* TL_HANDLE; /* Transport Layer handle, obtained through the TLOpen */
224typedef void* IF_HANDLE; /* Interface handle, obtained through ::TLOpenInterface */
225typedef void* DEV_HANDLE; /* Device Handle, obtained through the ::IFOpenDevice */
226typedef void* DS_HANDLE; /* Handle to an image stream object, obtained through DevOpenDataStream */
227typedef void* PORT_HANDLE; /* A Port handle is used to access the register space of a port */
228/* a PORT_HANDLE can be one of the following TL_HANDLE, IF_HANDLE, */
229/* DEV_HANDLE, handle to a device port, obtained through ::DevGetPort, */
230/* DS_HANDLE, BUFFER_HANDLE */
231
232typedef void* BUFFER_HANDLE; /* BufferHandle, obtained through the ::DSAnnounceBuffer function */
233typedef void*
234 EVENTSRC_HANDLE; /* A Event source handle is used to register a OS Event and to retrieve a GenTL event handle */
235/* a EVENTSRC_HANDLE can be on of the following TL_HANDLE, */
236/* IF_HANDLE, DEV_HANDLE, A handle to a device port, obtained through ::DevGetPort */
237/* DS_HANDLE, BUFFER_HANDLE */
238typedef void* EVENT_HANDLE; /* Event Handle */
239
240#define GENTL_INVALID_HANDLE NULL /* Invalid handle value, V1.4 */
241#define GENTL_INFINITE 0xFFFFFFFFFFFFFFFFULL /* Infinite value to be used in various function calls, V1.4 */
242
243/* Defines the data type possible for the various Info functions. */
245{
246 INFO_DATATYPE_UNKNOWN = 0, /* Unknown data type */
247 INFO_DATATYPE_STRING = 1, /* NULL-terminated C string (ASCII encoded). */
249 2, /* Concatenated INFO_DATATYPE_STRING list. End of list is signaled with an additional NULL. */
250 INFO_DATATYPE_INT16 = 3, /* Signed 16 bit integer. */
251 INFO_DATATYPE_UINT16 = 4, /* Unsigned 16 bit integer */
252 INFO_DATATYPE_INT32 = 5, /* Signed 32 bit integer */
253 INFO_DATATYPE_UINT32 = 6, /* Unsigned 32 bit integer */
254 INFO_DATATYPE_INT64 = 7, /* Signed 64 bit integer */
255 INFO_DATATYPE_UINT64 = 8, /* Unsigned 64 bit integer */
256 INFO_DATATYPE_FLOAT64 = 9, /* Signed 64 bit floating point number. */
257 INFO_DATATYPE_PTR = 10, /* Pointer type (void*). Size is platform dependent (32 bit on 32 bit platforms). */
258 INFO_DATATYPE_BOOL8 = 11, /* Boolean value occupying 8 bit. 0 for false and anything for true. */
259 INFO_DATATYPE_SIZET = 12, /* Platform dependent unsigned integer (32 bit on 32 bit platforms). */
260 INFO_DATATYPE_BUFFER = 13, /* Like a INFO_DATATYPE_STRING but with arbitrary data and no NULL termination. */
261 INFO_DATATYPE_PTRDIFF = 14, /* Platform dependent signed integer (32 bit on 32 bit platforms). GenTL v1.3 */
262
263 INFO_DATATYPE_CUSTOM_ID = 1000 /* Starting value for custom IDs. */
265typedef int32_t INFO_DATATYPE;
266
267/* Defines char encoding schemes used by the producer, GenTL v1.4 */
273typedef int32_t TL_CHAR_ENCODING; /* GenTL v1.4 */
274
275/* System module information commands for the GenICam::TL::Client::TLGetInfo and GenICam::TL::Client::GCGetInfo
276 * functions. */
278{
279 TL_INFO_ID = 0, /* STRING Transport layer ID. */
280 TL_INFO_VENDOR = 1, /* STRING Transport layer vendor name. */
281 TL_INFO_MODEL = 2, /* STRING Transport layer model name. */
282 TL_INFO_VERSION = 3, /* STRING Transport layer version. */
283 TL_INFO_TLTYPE = 4, /* STRING Transport layer technology that is supported. */
284 TL_INFO_NAME = 5, /* STRING File name including extension of the library. */
285 TL_INFO_PATHNAME = 6, /* STRING Full path including file name and extension of the library. */
286 TL_INFO_DISPLAYNAME = 7, /* STRING User readable name of the device. If this is not defined in the device this
287 should be VENDOR MODEL (ID). */
288 TL_INFO_CHAR_ENCODING = 8, /* INT32 Reporting the char encoding used by this Producer, GenTL v1.4 */
289 TL_INFO_GENTL_VER_MAJOR = 9, /* UINT32 Major number of the GenTL spec this producer complies with, GenTL v1.5 */
290 TL_INFO_GENTL_VER_MINOR = 10, /* UINT32 Minor number of the GenTL spec this producer complies with, GenTL v1.5 */
291 TL_INFO_CUSTOM_ID = 1000 /* Starting value for custom IDs. */
293typedef int32_t TL_INFO_CMD;
294
295/* This enumeration defines commands to retrieve information with the GenICam::TL::Client::IFGetInfo function from the
296 * Interface module. */
298{
299 INTERFACE_INFO_ID = 0, /* STRING Unique ID of the interface. */
300 INTERFACE_INFO_DISPLAYNAME = 1, /* STRING User readable name of the interface. */
301 INTERFACE_INFO_TLTYPE = 2, /* STRING Transport layer technology that is supported. */
302
303 INTERFACE_INFO_CUSTOM_ID = 1000 /* Starting value for GenTL Producer custom IDs. */
305typedef int32_t INTERFACE_INFO_CMD;
306
307/* This enumeration defines flags of how a device is to be opened with the GenICam::TL::Client::IFOpenDevice function.
308 */
310{
312 0, /* Not used in a command. Can be used to initialize a variable to query that information. */
313 DEVICE_ACCESS_NONE = 1, /* This either means that the device is not open because it was not opened before or the
314 access to it was denied. */
315 DEVICE_ACCESS_READONLY = 2, /* Open the device read only. All Port functions can only read from the device. */
316 DEVICE_ACCESS_CONTROL = 3, /* Open the device in a way that other hosts/processes can have read only access to the
317 device. Device access level is read/write for this process. */
318 DEVICE_ACCESS_EXCLUSIVE = 4, /* Open the device in a way that only this host/process can have access to the device.
319 Device access level is read/write for this process. */
320
321 DEVICE_ACCESS_CUSTOM_ID = 1000 /* Starting value for GenTL Producer custom IDs. */
323typedef int32_t DEVICE_ACCESS_FLAGS;
324
325/* This enumeration defines values for the accessibility of the device to be returned in the
326 * GenICam::TL::Client::DevGetInfo function on a device handle. */
328{
329 DEVICE_ACCESS_STATUS_UNKNOWN = 0, /* The device accessibility is not known. */
330 DEVICE_ACCESS_STATUS_READWRITE = 1, /* The device is available for read/write access. */
331 DEVICE_ACCESS_STATUS_READONLY = 2, /* The device is available for read only access. */
332 DEVICE_ACCESS_STATUS_NOACCESS = 3, /* The device is not accessible. */
333 DEVICE_ACCESS_STATUS_BUSY = 4, /* The device has already been opened by another process/host. GenTL v1.5 */
334 DEVICE_ACCESS_STATUS_OPEN_READWRITE = 5, /* The device has already been opened by this process. GenTL v1.5 */
335 DEVICE_ACCESS_STATUS_OPEN_READONLY = 6, /* The device has already been opened by this process. GenTL v1.5 */
336
337 DEVICE_ACCESS_STATUS_CUSTOM_ID = 1000 /* Starting value for custom IDs. */
339typedef int32_t DEVICE_ACCESS_STATUS;
340
341/* This enumeration defines commands to retrieve information with the GenICam::TL::Client::DevGetInfo function on a
342 * device handle. */
344{
345 DEVICE_INFO_ID = 0, /* STRING Unique ID of the device. */
346 DEVICE_INFO_VENDOR = 1, /* STRING Device vendor name. */
347 DEVICE_INFO_MODEL = 2, /* STRING Device model name. */
348 DEVICE_INFO_TLTYPE = 3, /* STRING Transport layer technology that is supported. */
350 4, /* STRING String containing a display name for the device ( including a unique id ) */
351 DEVICE_INFO_ACCESS_STATUS = 5, /* INT32 Gets the access mode the GenTL Producer has on the opened device.
352 (DEVICE_ACCESS_STATUS enumeration value). */
353 DEVICE_INFO_USER_DEFINED_NAME = 6, /* STRING String containing the user defined name, GenTL v1.4 */
354 DEVICE_INFO_SERIAL_NUMBER = 7, /* STRING String containing the device's serial number, GenTL v1.4 */
355 DEVICE_INFO_VERSION = 8, /* STRING String containing the device version, GenTL v1.4 */
356 DEVICE_INFO_TIMESTAMP_FREQUENCY = 9, /* UINT64 Tick-frequency of the time stamp clock, GenTL v1.4 */
357
358 DEVICE_INFO_CUSTOM_ID = 1000 /* Starting value for GenTL Producer custom IDs. */
360typedef int32_t DEVICE_INFO_CMD;
361
362/* This enumeration defines special stop flags for the acquisition engine. The function used is
363 * GenICam::TL::Client::DSStopAcquisition. */
365{
366 ACQ_STOP_FLAGS_DEFAULT = 0, /* Stop the acquisition engine when the currently running tasks like filling a buffer
367 are completed (default behavior). */
368 ACQ_STOP_FLAGS_KILL = 1, /* Stop the acquisition engine immediately and leave buffers currently being filled in the
369 Input Buffer Pool. */
370
371 ACQ_STOP_FLAGS_CUSTOM_ID = 1000 /* Starting value for GenTL Producer custom IDs. */
373typedef int32_t ACQ_STOP_FLAGS;
374
375/* This enumeration defines special start flags for the acquisition engine. The function used is
376 * GenICam::TL::Client::DSStartAcquisition. */
378{
379 ACQ_START_FLAGS_DEFAULT = 0, /* Default behavior. */
380
381 ACQ_START_FLAGS_CUSTOM_ID = 1000 /* Starting value for GenTL Producer custom IDs. */
383typedef int32_t ACQ_START_FLAGS;
384
385/* This enumeration commands from which to which queue/pool buffers are flushed with the
386 * GenICam::TL::Client::DSFlushQueue function. */
388{
389 ACQ_QUEUE_INPUT_TO_OUTPUT = 0, /* Flushes the input pool to the output queue and if necessary adds entries in the
390 New Buffer event data queue. */
392 1, /* Discards all buffers in the output queue and if necessary remove the entries from the event data queue. */
393 ACQ_QUEUE_ALL_TO_INPUT = 2, /* Puts all buffers in the input pool. Even those in the output queue and discard
394 entries in the event data queue. */
396 3, /* Puts all buffers that are not in the input pool or the output queue in the input pool. */
397 ACQ_QUEUE_ALL_DISCARD = 4, /* Discards all buffers in the input pool and output queue. */
398
399 ACQ_QUEUE_CUSTOM_ID = 1000 /* Starting value for GenTL Producer custom IDs. */
401typedef int32_t ACQ_QUEUE_TYPE;
402
403/* This enumeration defines commands to retrieve information with the GenICam::TL::Client::DSGetInfo function on a data
404 * stream handle */
406{
407 STREAM_INFO_ID = 0, /* STRING Unique ID of the data stream. */
408 STREAM_INFO_NUM_DELIVERED = 1, /* UINT64 Number of delivered buffers since last acquisition start. */
409 STREAM_INFO_NUM_UNDERRUN = 2, /* UINT64 Number of lost buffers due to queue underrun. */
410 STREAM_INFO_NUM_ANNOUNCED = 3, /* SIZET Number of announced buffers. */
411 STREAM_INFO_NUM_QUEUED = 4, /* SIZET Number of buffers in the input pool. */
412 STREAM_INFO_NUM_AWAIT_DELIVERY = 5, /* SIZET Number of buffers in the output queue. */
413 STREAM_INFO_NUM_STARTED = 6, /* UINT64 Number of buffers started in the acquisition engine. */
414 STREAM_INFO_PAYLOAD_SIZE = 7, /* SIZET Size of the expected data in bytes. */
415 STREAM_INFO_IS_GRABBING = 8, /* BOOL8 Flag indicating whether the acquisition engine is started or not. */
416 STREAM_INFO_DEFINES_PAYLOADSIZE = 9, /* BOOL8 Flag that indicated that this data stream defines a payload size
417 independent from the remote device. */
418 STREAM_INFO_TLTYPE = 10, /* STRING Transport layer technology that is supported. */
419 STREAM_INFO_NUM_CHUNKS_MAX = 11, /* SIZET Max number of chunks in a buffer, if known. GenTL v1.3 */
421 12, /* SIZET Min number of buffers to announce before acq can start, if known. GenTL v1.3 */
422 STREAM_INFO_BUF_ALIGNMENT = 13, /* SIZET Buffer alignment in bytes. GenTL v1.3 */
423
424 STREAM_INFO_CUSTOM_ID = 1000 /* Starting value for GenTL Producer custom IDs. */
426typedef int32_t STREAM_INFO_CMD;
427
428/* This enumeration defines commands to retrieve information with the GenICam::TL::Client::DSGetBufferInfo function on a
429 * buffer handle. */
431{
432 BUFFER_INFO_BASE = 0, /* PTR Base address of the buffer memory. */
433 BUFFER_INFO_SIZE = 1, /* SIZET Size of the buffer in bytes. */
434 BUFFER_INFO_USER_PTR = 2, /* PTR Private data pointer of the GenTL Consumer. */
435 BUFFER_INFO_TIMESTAMP = 3, /* UINT64 Timestamp the buffer was acquired. */
436 BUFFER_INFO_NEW_DATA = 4, /* BOOL8 Flag to indicate that the buffer contains new data since the last call. */
437 BUFFER_INFO_IS_QUEUED = 5, /* BOOL8 Flag to indicate if the buffer is in the input pool or output queue. */
438 BUFFER_INFO_IS_ACQUIRING = 6, /* BOOL8 Flag to indicate that the buffer is currently being filled with data. */
440 7, /* BOOL8 Flag to indicate that a buffer was filled but an error occurred during that process. */
441 BUFFER_INFO_TLTYPE = 8, /* STRING Transport layer technology that is supported. */
442 BUFFER_INFO_SIZE_FILLED = 9, /* SIZET Number of bytes written into the buffer last time it has been filled.
443 This value is reset to 0 when the buffer is placed into the Input Buffer Pool. */
444 BUFFER_INFO_WIDTH = 10, /* SIZET GenTL v1.2 */
445 BUFFER_INFO_HEIGHT = 11, /* SIZET GenTL v1.2 */
446 BUFFER_INFO_XOFFSET = 12, /* SIZET GenTL v1.2 */
447 BUFFER_INFO_YOFFSET = 13, /* SIZET GenTL v1.2 */
448 BUFFER_INFO_XPADDING = 14, /* SIZET GenTL v1.2 */
449 BUFFER_INFO_YPADDING = 15, /* SIZET GenTL v1.2 */
450 BUFFER_INFO_FRAMEID = 16, /* UINT64 GenTL v1.2 */
451 BUFFER_INFO_IMAGEPRESENT = 17, /* BOOL8 GenTL v1.2 */
452 BUFFER_INFO_IMAGEOFFSET = 18, /* SIZET GenTL v1.2 */
453 BUFFER_INFO_PAYLOADTYPE = 19, /* SIZET GenTL v1.2 */
454 BUFFER_INFO_PIXELFORMAT = 20, /* UINT64 GenTL v1.2 */
455 BUFFER_INFO_PIXELFORMAT_NAMESPACE = 21, /* UINT64 GenTL v1.2 */
456 BUFFER_INFO_DELIVERED_IMAGEHEIGHT = 22, /* SIZET GenTL v1.2 */
457 BUFFER_INFO_DELIVERED_CHUNKPAYLOADSIZE = 23, /* SIZET GenTL v1.2 */
458 BUFFER_INFO_CHUNKLAYOUTID = 24, /* UINT64 GenTL v1.2 */
459 BUFFER_INFO_FILENAME = 25, /* STRING GenTL v1.2 */
460 BUFFER_INFO_PIXEL_ENDIANNESS = 26, /* INT32 GenTL v1.4 */
461 BUFFER_INFO_DATA_SIZE = 27, /* SIZET GenTL v1.4 */
462 BUFFER_INFO_TIMESTAMP_NS = 28, /* UINT64 GenTL v1.4 */
463 BUFFER_INFO_DATA_LARGER_THAN_BUFFER = 29, /* BOOL8 GenTL v1.4 */
464 BUFFER_INFO_CONTAINS_CHUNKDATA = 30, /* BOOL8 GenTL v1.4 */
465
466 BUFFER_INFO_CUSTOM_ID = 1000 /* Starting value for GenTL Producer custom IDs. */
468typedef int32_t BUFFER_INFO_CMD;
469
470/* This enumeration defines commands to retrieve information about individual data parts in a multi-part buffer
471 using the GenICam::TL::Client::DSGetBufferPartInfo function. Introduced in GenTL v1.5. */
473{
474 BUFFER_PART_INFO_BASE = 0, /* PTR Base address of the buffer part memory. */
475 BUFFER_PART_INFO_DATA_SIZE = 1, /* SIZET Size of the buffer part in bytes. */
476 BUFFER_PART_INFO_DATA_TYPE = 2, /* SIZET Type of the data in given part (PARTDATATYPE_ID enumeration value). */
477 BUFFER_PART_INFO_DATA_FORMAT = 3, /* UINT64 Format of individual items (such as pixels) in the buffer part. */
478 BUFFER_PART_INFO_DATA_FORMAT_NAMESPACE = 4, /* UINT64 Allows interpretation of BUFFER_PART_INFO_DATA_FORMAT
479 (PIXELFORMAT_NAMESPACE_ID enumeration value). */
480 BUFFER_PART_INFO_WIDTH = 5, /* SIZET Width of data in the buffer part in pixels. */
481 BUFFER_PART_INFO_HEIGHT = 6, /* SIZET Expected height of data in the buffer part in pixels . */
482 BUFFER_PART_INFO_XOFFSET = 7, /* SIZET Horizontal offset of data in the buffer part in pixels. */
483 BUFFER_PART_INFO_YOFFSET = 8, /* SIZET Vertical offset of data in the buffer part in pixels. */
484 BUFFER_PART_INFO_XPADDING = 9, /* SIZET Horizontal padding of data in the buffer part in pixels. */
486 10, /* UINT64 Identifier allowing to group data parts belonging to the same source. */
488 11, /* SIZET Height of the data currently in the buffer part in pixels*/
489 BUFFER_PART_INFO_CUSTOM_ID = 1000 /* Starting value for GenTL Producer custom IDs. */
491typedef int32_t BUFFER_PART_INFO_CMD; /* GenTL v1.5 */
492
493/* Enumeration of TLType dependent payload types. Introduced in GenTL v1.2 */
495{
496 PAYLOAD_TYPE_UNKNOWN = 0, /* GenTL v1.2 */
497 PAYLOAD_TYPE_IMAGE = 1, /* GenTL v1.2 */
498 PAYLOAD_TYPE_RAW_DATA = 2, /* GenTL v1.2 */
499 PAYLOAD_TYPE_FILE = 3, /* GenTL v1.2 */
500 PAYLOAD_TYPE_CHUNK_DATA = 4, /* GenTL v1.2, Deprecated in GenTL 1.5*/
501 PAYLOAD_TYPE_JPEG = 5, /* GenTL v1.4 */
502 PAYLOAD_TYPE_JPEG2000 = 6, /* GenTL v1.4 */
503 PAYLOAD_TYPE_H264 = 7, /* GenTL v1.4 */
504 PAYLOAD_TYPE_CHUNK_ONLY = 8, /* GenTL v1.4 */
505 PAYLOAD_TYPE_DEVICE_SPECIFIC = 9, /* GenTL v1.4 */
506 PAYLOAD_TYPE_MULTI_PART = 10, /* GenTL v1.5 */
507
508 PAYLOAD_TYPE_CUSTOM_ID = 1000 /* Starting value for GenTL Producer custom IDs. */
510typedef int32_t PAYLOADTYPE_INFO_ID;
511
512/* Enumeration of TLType dependent pixel format namespaces introduced GenTL v1.2 */
514{
515 PIXELFORMAT_NAMESPACE_UNKNOWN = 0, /* GenTL v1.2 */
516 PIXELFORMAT_NAMESPACE_GEV = 1, /* GenTL v1.2 */
517 PIXELFORMAT_NAMESPACE_IIDC = 2, /* GenTL v1.2 */
520
521 PIXELFORMAT_NAMESPACE_CUSTOM_ID = 1000 /* Starting value for GenTL Producer custom IDs. */
523typedef int32_t PIXELFORMAT_NAMESPACE_ID; /* GenTL v1.2 */
524
525/* Enumeration of pixel endianness values. Introduced in GenTL v1.4 */
527{
528 PIXELENDIANNESS_UNKNOWN = 0, /* Unknown pixel endianness. GenTL v1.4 */
529 PIXELENDIANNESS_LITTLE = 1, /* Little endian pixel data. GenTL v1.4 */
530 PIXELENDIANNESS_BIG = 2 /* Big endian pixel data. GenTL v1.4 */
532typedef int32_t PIXELENDIANNESS_ID; /* GenTL v1.4*/
533
534/* Enumeration describing which data type is present in given buffer part. Introduced in GenTL v1.5 */
536{
537 PART_DATATYPE_UNKNOWN = 0, /* Unknown data type */
538 PART_DATATYPE_2D_IMAGE = 1, /* Color or monochrome 2D image. */
539 PART_DATATYPE_2D_PLANE_BIPLANAR = 2, /* Single color plane of a planar 2D image consisting of 2 planes. */
540 PART_DATATYPE_2D_PLANE_TRIPLANAR = 3, /* Single color plane of a planar 2D image consisting of 3 planes. */
541 PART_DATATYPE_2D_PLANE_QUADPLANAR = 4, /* Single color plane of a planar 2D image consisting of 4 planes. */
542 PART_DATATYPE_3D_IMAGE = 5, /* 3D image (pixel coordinates). */
543 PART_DATATYPE_3D_PLANE_BIPLANAR = 6, /* Single plane of a planar 3D image consisting of 2 planes. */
544 PART_DATATYPE_3D_PLANE_TRIPLANAR = 7, /* Single plane of a planar 3D image consisting of 3 planes. */
545 PART_DATATYPE_3D_PLANE_QUADPLANAR = 8, /* Single plane of a planar 3D image consisting of 4 planes. */
546 PART_DATATYPE_CONFIDENCE_MAP = 9, /* Confidence of the individual pixel values. */
547
548 PART_DATATYPE_CUSTOM_ID = 1000 /* Starting value for GenTL Producer custom IDs. */
550typedef int32_t PARTDATATYPE_ID; /* GenTL v1.5*/
551
552/* This enumeration defines commands to retrieve information with the GenICam::TL::Client::GCGetPortInfo function on a
553 * module or remote device handle. */
555{
556 PORT_INFO_ID = 0, /* STRING Unique ID of the port. */
557 PORT_INFO_VENDOR = 1, /* STRING Port vendor name. */
558 PORT_INFO_MODEL = 2, /* STRING Port model name. */
559 PORT_INFO_TLTYPE = 3, /* STRING Transport layer technology that is supported. */
560 PORT_INFO_MODULE = 4, /* STRING GenTL Module the port refers to. */
561 PORT_INFO_LITTLE_ENDIAN = 5, /* BOOL8 Flag indicating that the port data is little endian. */
562 PORT_INFO_BIG_ENDIAN = 6, /* BOOL8 Flag indicating that the port data is big endian. */
563 PORT_INFO_ACCESS_READ = 7, /* BOOL8 Port has read access. */
564 PORT_INFO_ACCESS_WRITE = 8, /* BOOL8 Port has write access. */
565 PORT_INFO_ACCESS_NA = 9, /* BOOL8 Port is not accessible. */
566 PORT_INFO_ACCESS_NI = 10, /* BOOL8 Port is not implemented. */
567 PORT_INFO_VERSION = 11, /* STRING Version of the port. */
568 PORT_INFO_PORTNAME = 12, /* STRING Name of the port as referenced in the XML description. */
569
570 PORT_INFO_CUSTOM_ID = 1000 /* Starting value for GenTL Producer custom IDs. */
572typedef int32_t PORT_INFO_CMD;
573
574/* This enumeration defines enum values returned by the URL_INFO_SCHEME command.
575 introduced in GenTL v1.5 */
577{
578 URL_SCHEME_LOCAL = 0, /* The XML can be read from the local register map */
579 URL_SCHEME_HTTP = 1, /* The XML can be downloaded from a http server */
580 URL_SCHEME_FILE = 2, /* The XML can be read from the local hard drive */
581
582 URL_SCHEME_CUSTOM_ID = 1000 /* Starting value for custom scheme locations */
584typedef int32_t URL_SCHEME_ID;
585
586/* This enumeration defines commands to retrieve information with the GenICam::TL::Client::GCGetPortURLInfo
587 function on a module or remote device handle. Introduced in GenTL v1.1 */
589{
590 URL_INFO_URL = 0, /* STRING URL as defined in chapter 4.1.2 GenTL v1.1 */
591 URL_INFO_SCHEMA_VER_MAJOR = 1, /* INT32 Major version of the schema this URL refers to. GenTL v1.1 */
592 URL_INFO_SCHEMA_VER_MINOR = 2, /* INT32 Minor version of the schema this URL refers to. GenTL v1.1 */
593 URL_INFO_FILE_VER_MAJOR = 3, /* INT32 Major version of the XML-file this URL refers to. GenTL v1.1 */
594 URL_INFO_FILE_VER_MINOR = 4, /* INT32 Minor version of the XML-file this URL refers to. GenTL v1.1 */
595 URL_INFO_FILE_VER_SUBMINOR = 5, /* INT32 Subminor version of the XML-file this URL refers to. GenTL v1.1 */
596 URL_INFO_FILE_SHA1_HASH = 6, /* BUFFER 160-bit SHA1 Hash code of XML-file. GenTL v1.4 */
597 URL_INFO_FILE_REGISTER_ADDRESS = 7, /* UINT64 Register address in the device's register map. GenTL v1.5 */
598 URL_INFO_FILE_SIZE = 8, /* UINT64 File size in bytes. GenTL v1.5 */
599 URL_INFO_SCHEME = 9, /* INT32 Scheme of the URL as defined in URL_SCHEME_IDS. GenTL v1.5 */
600 URL_INFO_FILENAME = 10, /* STRING File name if the scheme of the URL is file. GenTL v1.5 */
601
602 URL_INFO_CUSTOM_ID = 1000 /* Starting value for GenTL Producer custom IDs. */
604typedef int32_t URL_INFO_CMD; /* GenTL v1.1 */
605
606/* Known event types that can be registered on certain modules with the GenICam::TL::Client::GCRegisterEvent function.
607 */
609{
610 EVENT_ERROR = 0, /* Notification on module errors. */
611 EVENT_NEW_BUFFER = 1, /* Notification on newly filled buffers. */
612 EVENT_FEATURE_INVALIDATE = 2, /* Notification if a feature was changed by the GenTL Producer library and thus needs
613 to be invalidated in the GenICam GenApi instance using the module. */
614 EVENT_FEATURE_CHANGE = 3, /* Notification if the GenTL Producer library wants to manually set a feature in the
615 GenICam GenApi instance using the module. */
616 EVENT_REMOTE_DEVICE = 4, /* Notification if the GenTL Producer wants to inform the GenICam GenApi instance of the
617 remote device that a GenApi compatible event was fired. */
618 EVENT_MODULE = 5, /* Notification if the GenTL Producer wants to inform the GenICam GenApi instance of the module
619 that a GenApi compatible event was fired. GenTL v1.4 */
620
621 EVENT_CUSTOM_ID = 1000 /* Starting value for GenTL Producer custom IDs. */
623typedef int32_t EVENT_TYPE;
624
625/* Event info command */
627{
628 EVENT_EVENT_TYPE = 0, /* INT32 The event type of the event handle (EVENT_TYPE enum value). */
629 EVENT_NUM_IN_QUEUE = 1, /* SIZET Number of events in the event data queue. */
630 EVENT_NUM_FIRED = 2, /* UINT64 Number of events that were fired since the creation of the module. */
631 EVENT_SIZE_MAX = 3, /* SIZET Max size of data carried with an event in bytes. GenTL v1.2 */
633 4, /* SIZET Max size of data provided through EventGetDataInfo in bytes. GenTL v1.2 */
634
635 EVENT_INFO_CUSTOM_ID = 1000 /* Starting value for GenTL Producer custom IDs. */
637typedef int32_t EVENT_INFO_CMD;
638
639/* Event data info command */
641{
642 EVENT_DATA_ID = 0, /* Event specific Unique Event ID (String or Number)*/
643 EVENT_DATA_VALUE = 1, /* Event specific Data */
644 EVENT_DATA_NUMID = 2, /* UINT64 Numeric representation of the unique Event ID, GenTL v1.3. */
645
646 EVENT_DATA_CUSTOM_ID = 1000 /* Starting value for GenTL Producer custom IDs. */
648typedef int32_t EVENT_DATA_INFO_CMD;
649
650/* Structure of the data returned from a signaled "New Buffer" event. */
651#pragma pack(push, 1)
652typedef struct S_EVENT_NEW_BUFFER
653{
654 BUFFER_HANDLE BufferHandle; /* Buffer handle which contains new data. */
655 void* pUserPointer; /* User pointer provided at announcement of the buffer. */
657#pragma pack(pop)
658
659/* Structure to be use with GCWritePortStacked and GCReadPortStacked. */
660#pragma pack(push, 1)
661typedef struct S_PORT_REGISTER_STACK_ENTRY
662{
663 uint64_t Address; /* Address of the register. */
664 void* pBuffer; /* Pointer to the buffer containing the data. */
665 size_t Size; /* Number of bytes to read write. */
667#pragma pack(pop)
668
669#pragma pack(push, 1)
670/* Structure carrying information about a single chunk in the buffer, V1.3 */
671typedef struct S_SINGLE_CHUNK_DATA
672{
673 uint64_t ChunkID; /* Numeric representation of ChunkID */
674 ptrdiff_t ChunkOffset; /* Chunk offset in the buffer */
675 size_t ChunkLength; /* Size of the chunk data */
677#pragma pack(pop)
678
679
680/* C API Interface Functions */
681#define GC_API GC_IMPORT_EXPORT GC_ERROR GC_CALLTYPE
683
684GC_API GCGetLastError(GC_ERROR* piErrorCode, char* sErrText, size_t* piSize);
685
688
689GC_API GCReadPort(PORT_HANDLE hPort, uint64_t iAddress, void* pBuffer, size_t* piSize);
690GC_API GCWritePort(PORT_HANDLE hPort, uint64_t iAddress, const void* pBuffer, size_t* piSize);
692
694
697
698GC_API EventGetData(EVENT_HANDLE hEvent, void* pBuffer, size_t* piSize, uint64_t iTimeout);
700 INFO_DATATYPE* piType, void* pOutBuffer, size_t* piOutSize);
704
708
709GC_API TLGetNumInterfaces(TL_HANDLE hTL, uint32_t* piNumIfaces);
710GC_API TLGetInterfaceID(TL_HANDLE hTL, uint32_t iIndex, char* sID, size_t* piSize);
712 void* pBuffer, size_t* piSize);
714GC_API TLUpdateInterfaceList(TL_HANDLE hTL, bool8_t* pbChanged, uint64_t iTimeout);
715
718
719GC_API IFGetNumDevices(IF_HANDLE hIface, uint32_t* piNumDevices);
720GC_API IFGetDeviceID(IF_HANDLE hIface, uint32_t iIndex, char* sIDeviceID, size_t* piSize);
721GC_API IFUpdateDeviceList(IF_HANDLE hIface, bool8_t* pbChanged, uint64_t iTimeout);
723 void* pBuffer, size_t* piSize);
725
727GC_API DevGetNumDataStreams(DEV_HANDLE hDevice, uint32_t* piNumDataStreams);
728GC_API DevGetDataStreamID(DEV_HANDLE hDevice, uint32_t iIndex, char* sDataStreamID, size_t* piSize);
729GC_API DevOpenDataStream(DEV_HANDLE hDevice, const char* sDataStreamID, DS_HANDLE* phDataStream);
732
736GC_API DSStartAcquisition(DS_HANDLE hDataStream, ACQ_START_FLAGS iStartFlags, uint64_t iNumToAcquire);
741
745 void* pBuffer, size_t* piSize);
746
747/* GenTL v1.1 */
753
754/* GenTL v1.3 */
757
758/* GenTL v1.4 */
762
763/* GenTL v1.5 */
767
768/* typedefs for dynamic loading */
769#define GC_API_P(function) typedef GC_ERROR(GC_CALLTYPE* function)
771GC_API_P(PGCGetLastError)(GC_ERROR* piErrorCode, char* sErrText, size_t* piSize);
774GC_API_P(PGCReadPort)(PORT_HANDLE hPort, uint64_t iAddress, void* pBuffer, size_t* piSize);
775GC_API_P(PGCWritePort)(PORT_HANDLE hPort, uint64_t iAddress, const void* pBuffer, size_t* piSize);
777GC_API_P(PGCGetPortInfo)
779
782GC_API_P(PEventGetData)(EVENT_HANDLE hEvent, void* pBuffer, size_t* piSize, uint64_t iTimeout);
783GC_API_P(PEventGetDataInfo)
785 void* pOutBuffer, size_t* piOutSize);
786GC_API_P(PEventGetInfo)
793GC_API_P(PTLGetNumInterfaces)(TL_HANDLE hTL, uint32_t* piNumIfaces);
794GC_API_P(PTLGetInterfaceID)(TL_HANDLE hTL, uint32_t iIndex, char* sID, size_t* piSize);
795GC_API_P(PTLGetInterfaceInfo)
797 size_t* piSize);
799GC_API_P(PTLUpdateInterfaceList)(TL_HANDLE hTL, bool8_t* pbChanged, uint64_t iTimeout);
801GC_API_P(PIFGetInfo)
803GC_API_P(PIFGetNumDevices)(IF_HANDLE hIface, uint32_t* piNumDevices);
804GC_API_P(PIFGetDeviceID)(IF_HANDLE hIface, uint32_t iIndex, char* sIDeviceID, size_t* piSize);
805GC_API_P(PIFUpdateDeviceList)(IF_HANDLE hIface, bool8_t* pbChanged, uint64_t iTimeout);
806GC_API_P(PIFGetDeviceInfo)
808 size_t* piSize);
810
812GC_API_P(PDevGetNumDataStreams)(DEV_HANDLE hDevice, uint32_t* piNumDataStreams);
813GC_API_P(PDevGetDataStreamID)(DEV_HANDLE hDevice, uint32_t iIndex, char* sDataStreamID, size_t* piSize);
814GC_API_P(PDevOpenDataStream)(DEV_HANDLE hDevice, const char* sDataStreamID, DS_HANDLE* phDataStream);
815GC_API_P(PDevGetInfo)
818
819GC_API_P(PDSAnnounceBuffer)
823GC_API_P(PDSStartAcquisition)(DS_HANDLE hDataStream, ACQ_START_FLAGS iStartFlags, uint64_t iNumToAcquire);
825GC_API_P(PDSGetInfo)
831GC_API_P(PDSGetBufferInfo)
833 size_t* piSize);
834
835/* GenTL v1.1 */
837GC_API_P(PGCGetPortURLInfo)
841
842/* GenTL v1.3 */
843GC_API_P(PDSGetBufferChunkData)
845
846/* GenTL v1.4 */
850
851/* GenTL v1.5 */
853GC_API_P(PDSGetBufferPartInfo)
855 INFO_DATATYPE* piType, void* pBuffer, size_t* piSize);
856#ifdef __cplusplus
857} /* end of namespace GenTL */
858} /* end of extern "C" */
859#endif
860#endif /* GC_TLI_CLIENT_H_ */
GC_API DSAllocAndAnnounceBuffer(DS_HANDLE hDataStream, size_t iSize, void *pPrivate, BUFFER_HANDLE *phBuffer)
DEVICE_ACCESS_STATUS_LIST
Definition GenTL_v1_5.h:328
@ DEVICE_ACCESS_STATUS_READWRITE
Definition GenTL_v1_5.h:330
@ DEVICE_ACCESS_STATUS_UNKNOWN
Definition GenTL_v1_5.h:329
@ DEVICE_ACCESS_STATUS_OPEN_READONLY
Definition GenTL_v1_5.h:335
@ DEVICE_ACCESS_STATUS_BUSY
Definition GenTL_v1_5.h:333
@ DEVICE_ACCESS_STATUS_CUSTOM_ID
Definition GenTL_v1_5.h:337
@ DEVICE_ACCESS_STATUS_OPEN_READWRITE
Definition GenTL_v1_5.h:334
@ DEVICE_ACCESS_STATUS_READONLY
Definition GenTL_v1_5.h:331
@ DEVICE_ACCESS_STATUS_NOACCESS
Definition GenTL_v1_5.h:332
GC_API DevClose(DEV_HANDLE hDevice)
GC_API_P() PGCUnregisterEvent(EVENTSRC_HANDLE hEventSrc, EVENT_TYPE iEventID)
GC_API_P() PDSGetParentDev(DS_HANDLE hDataStream, DEV_HANDLE *phDevice)
GC_API DSGetInfo(DS_HANDLE hDataStream, STREAM_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize)
IF_HANDLE const char * sDeviceID
Definition GenTL_v1_5.h:807
INTERFACE_INFO_CMD_LIST
Definition GenTL_v1_5.h:298
@ INTERFACE_INFO_TLTYPE
Definition GenTL_v1_5.h:301
@ INTERFACE_INFO_DISPLAYNAME
Definition GenTL_v1_5.h:300
@ INTERFACE_INFO_CUSTOM_ID
Definition GenTL_v1_5.h:303
@ INTERFACE_INFO_ID
Definition GenTL_v1_5.h:299
TL_CHAR_ENCODING_LIST
Definition GenTL_v1_5.h:269
@ TL_CHAR_ENCODING_ASCII
Definition GenTL_v1_5.h:270
@ TL_CHAR_ENCODING_UTF8
Definition GenTL_v1_5.h:271
int32_t TL_CHAR_ENCODING
Definition GenTL_v1_5.h:273
#define GC_API_P(function)
Definition GenTL_v1_5.h:769
int32_t PIXELFORMAT_NAMESPACE_ID
Definition GenTL_v1_5.h:523
GC_API_P() PIFGetDeviceID(IF_HANDLE hIface, uint32_t iIndex, char *sIDeviceID, size_t *piSize)
GC_API EventKill(EVENT_HANDLE hEvent)
int32_t STREAM_INFO_CMD
Definition GenTL_v1_5.h:426
GC_API_P() PTLOpenInterface(TL_HANDLE hTL, const char *sIfaceID, IF_HANDLE *phIface)
GC_API GCGetPortInfo(PORT_HANDLE hPort, PORT_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize)
URL_INFO_CMD_LIST
Definition GenTL_v1_5.h:589
@ URL_INFO_FILE_SIZE
Definition GenTL_v1_5.h:598
@ URL_INFO_URL
Definition GenTL_v1_5.h:590
@ URL_INFO_CUSTOM_ID
Definition GenTL_v1_5.h:602
@ URL_INFO_SCHEMA_VER_MAJOR
Definition GenTL_v1_5.h:591
@ URL_INFO_FILE_REGISTER_ADDRESS
Definition GenTL_v1_5.h:597
@ URL_INFO_SCHEMA_VER_MINOR
Definition GenTL_v1_5.h:592
@ URL_INFO_FILE_VER_MINOR
Definition GenTL_v1_5.h:594
@ URL_INFO_SCHEME
Definition GenTL_v1_5.h:599
@ URL_INFO_FILE_VER_SUBMINOR
Definition GenTL_v1_5.h:595
@ URL_INFO_FILENAME
Definition GenTL_v1_5.h:600
@ URL_INFO_FILE_VER_MAJOR
Definition GenTL_v1_5.h:593
@ URL_INFO_FILE_SHA1_HASH
Definition GenTL_v1_5.h:596
GC_API_P() PGCInitLib(void)
GC_API IFGetDeviceInfo(IF_HANDLE hIface, const char *sDeviceID, DEVICE_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize)
void * PORT_HANDLE
Definition GenTL_v1_5.h:227
PORT_HANDLE PORT_INFO_CMD INFO_DATATYPE void size_t * piSize
Definition GenTL_v1_5.h:778
GC_API_P() PTLClose(TL_HANDLE hTL)
GC_API_P() PDSAllocAndAnnounceBuffer(DS_HANDLE hDataStream, size_t iSize, void *pPrivate, BUFFER_HANDLE *phBuffer)
GC_API IFGetNumDevices(IF_HANDLE hIface, uint32_t *piNumDevices)
DEVICE_INFO_CMD_LIST
Definition GenTL_v1_5.h:344
@ DEVICE_INFO_ID
Definition GenTL_v1_5.h:345
@ DEVICE_INFO_TLTYPE
Definition GenTL_v1_5.h:348
@ DEVICE_INFO_USER_DEFINED_NAME
Definition GenTL_v1_5.h:353
@ DEVICE_INFO_VERSION
Definition GenTL_v1_5.h:355
@ DEVICE_INFO_TIMESTAMP_FREQUENCY
Definition GenTL_v1_5.h:356
@ DEVICE_INFO_VENDOR
Definition GenTL_v1_5.h:346
@ DEVICE_INFO_SERIAL_NUMBER
Definition GenTL_v1_5.h:354
@ DEVICE_INFO_ACCESS_STATUS
Definition GenTL_v1_5.h:351
@ DEVICE_INFO_MODEL
Definition GenTL_v1_5.h:347
@ DEVICE_INFO_CUSTOM_ID
Definition GenTL_v1_5.h:358
@ DEVICE_INFO_DISPLAYNAME
Definition GenTL_v1_5.h:349
GC_API_P() PDevGetParentIF(DEV_HANDLE hDevice, IF_HANDLE *phIface)
GC_API_P() PDSGetNumBufferParts(DS_HANDLE hDataStream, BUFFER_HANDLE hBuffer, uint32_t *piNumParts)
TL_HANDLE hTL
Definition GenTL_v1_5.h:796
GC_API DSGetBufferInfo(DS_HANDLE hDataStream, BUFFER_HANDLE hBuffer, BUFFER_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize)
int32_t INFO_DATATYPE
Definition GenTL_v1_5.h:265
GC_API DSStartAcquisition(DS_HANDLE hDataStream, ACQ_START_FLAGS iStartFlags, uint64_t iNumToAcquire)
EVENT_TYPE_LIST
Definition GenTL_v1_5.h:609
@ EVENT_NEW_BUFFER
Definition GenTL_v1_5.h:611
@ EVENT_FEATURE_INVALIDATE
Definition GenTL_v1_5.h:612
@ EVENT_REMOTE_DEVICE
Definition GenTL_v1_5.h:616
@ EVENT_ERROR
Definition GenTL_v1_5.h:610
@ EVENT_CUSTOM_ID
Definition GenTL_v1_5.h:621
@ EVENT_FEATURE_CHANGE
Definition GenTL_v1_5.h:614
@ EVENT_MODULE
Definition GenTL_v1_5.h:618
BUFFER_INFO_CMD_LIST
Definition GenTL_v1_5.h:431
@ BUFFER_INFO_PIXELFORMAT
Definition GenTL_v1_5.h:454
@ BUFFER_INFO_CONTAINS_CHUNKDATA
Definition GenTL_v1_5.h:464
@ BUFFER_INFO_PIXELFORMAT_NAMESPACE
Definition GenTL_v1_5.h:455
@ BUFFER_INFO_TLTYPE
Definition GenTL_v1_5.h:441
@ BUFFER_INFO_TIMESTAMP_NS
Definition GenTL_v1_5.h:462
@ BUFFER_INFO_FILENAME
Definition GenTL_v1_5.h:459
@ BUFFER_INFO_IS_ACQUIRING
Definition GenTL_v1_5.h:438
@ BUFFER_INFO_CHUNKLAYOUTID
Definition GenTL_v1_5.h:458
@ BUFFER_INFO_IS_INCOMPLETE
Definition GenTL_v1_5.h:439
@ BUFFER_INFO_FRAMEID
Definition GenTL_v1_5.h:450
@ BUFFER_INFO_PAYLOADTYPE
Definition GenTL_v1_5.h:453
@ BUFFER_INFO_XOFFSET
Definition GenTL_v1_5.h:446
@ BUFFER_INFO_WIDTH
Definition GenTL_v1_5.h:444
@ BUFFER_INFO_HEIGHT
Definition GenTL_v1_5.h:445
@ BUFFER_INFO_SIZE_FILLED
Definition GenTL_v1_5.h:442
@ BUFFER_INFO_IMAGEPRESENT
Definition GenTL_v1_5.h:451
@ BUFFER_INFO_DATA_LARGER_THAN_BUFFER
Definition GenTL_v1_5.h:463
@ BUFFER_INFO_TIMESTAMP
Definition GenTL_v1_5.h:435
@ BUFFER_INFO_IMAGEOFFSET
Definition GenTL_v1_5.h:452
@ BUFFER_INFO_PIXEL_ENDIANNESS
Definition GenTL_v1_5.h:460
@ BUFFER_INFO_BASE
Definition GenTL_v1_5.h:432
@ BUFFER_INFO_DELIVERED_CHUNKPAYLOADSIZE
Definition GenTL_v1_5.h:457
@ BUFFER_INFO_CUSTOM_ID
Definition GenTL_v1_5.h:466
@ BUFFER_INFO_DELIVERED_IMAGEHEIGHT
Definition GenTL_v1_5.h:456
@ BUFFER_INFO_YOFFSET
Definition GenTL_v1_5.h:447
@ BUFFER_INFO_IS_QUEUED
Definition GenTL_v1_5.h:437
@ BUFFER_INFO_SIZE
Definition GenTL_v1_5.h:433
@ BUFFER_INFO_USER_PTR
Definition GenTL_v1_5.h:434
@ BUFFER_INFO_DATA_SIZE
Definition GenTL_v1_5.h:461
@ BUFFER_INFO_NEW_DATA
Definition GenTL_v1_5.h:436
@ BUFFER_INFO_YPADDING
Definition GenTL_v1_5.h:449
@ BUFFER_INFO_XPADDING
Definition GenTL_v1_5.h:448
GC_API_P() PDevGetNumDataStreams(DEV_HANDLE hDevice, uint32_t *piNumDataStreams)
int32_t INTERFACE_INFO_CMD
Definition GenTL_v1_5.h:305
int32_t PARTDATATYPE_ID
Definition GenTL_v1_5.h:550
GC_API GCGetPortURL(PORT_HANDLE hPort, char *sURL, size_t *piSize)
GC_API DevGetInfo(DEV_HANDLE hDevice, DEVICE_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize)
GC_API_P() PEventGetData(EVENT_HANDLE hEvent, void *pBuffer, size_t *piSize, uint64_t iTimeout)
GC_API TLOpenInterface(TL_HANDLE hTL, const char *sIfaceID, IF_HANDLE *phIface)
GC_API IFGetInfo(IF_HANDLE hIface, INTERFACE_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize)
GC_API TLGetInterfaceID(TL_HANDLE hTL, uint32_t iIndex, char *sID, size_t *piSize)
GC_API_P() PIFGetParentTL(IF_HANDLE hIface, TL_HANDLE *phSystem)
void * TL_HANDLE
Definition GenTL_v1_5.h:223
DS_HANDLE void size_t iSize
Definition GenTL_v1_5.h:820
GC_API_P() PGCGetInfo(TL_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize)
GC_API IFGetDeviceID(IF_HANDLE hIface, uint32_t iIndex, char *sIDeviceID, size_t *piSize)
GC_API DevGetDataStreamID(DEV_HANDLE hDevice, uint32_t iIndex, char *sDataStreamID, size_t *piSize)
GC_API_P() PGCWritePort(PORT_HANDLE hPort, uint64_t iAddress, const void *pBuffer, size_t *piSize)
int32_t DEVICE_ACCESS_FLAGS
Definition GenTL_v1_5.h:323
PARTDATATYPE_IDS
Definition GenTL_v1_5.h:536
@ PART_DATATYPE_2D_PLANE_QUADPLANAR
Definition GenTL_v1_5.h:541
@ PART_DATATYPE_3D_PLANE_TRIPLANAR
Definition GenTL_v1_5.h:544
@ PART_DATATYPE_CONFIDENCE_MAP
Definition GenTL_v1_5.h:546
@ PART_DATATYPE_2D_PLANE_BIPLANAR
Definition GenTL_v1_5.h:539
@ PART_DATATYPE_3D_PLANE_BIPLANAR
Definition GenTL_v1_5.h:543
@ PART_DATATYPE_UNKNOWN
Definition GenTL_v1_5.h:537
@ PART_DATATYPE_2D_PLANE_TRIPLANAR
Definition GenTL_v1_5.h:540
@ PART_DATATYPE_2D_IMAGE
Definition GenTL_v1_5.h:538
@ PART_DATATYPE_3D_IMAGE
Definition GenTL_v1_5.h:542
@ PART_DATATYPE_CUSTOM_ID
Definition GenTL_v1_5.h:548
@ PART_DATATYPE_3D_PLANE_QUADPLANAR
Definition GenTL_v1_5.h:545
GC_API_P() PDSStartAcquisition(DS_HANDLE hDataStream, ACQ_START_FLAGS iStartFlags, uint64_t iNumToAcquire)
GC_API IFOpenDevice(IF_HANDLE hIface, const char *sDeviceID, DEVICE_ACCESS_FLAGS iOpenFlags, DEV_HANDLE *phDevice)
GC_API_P() PDSClose(DS_HANDLE hDataStream)
GC_API DSStopAcquisition(DS_HANDLE hDataStream, ACQ_STOP_FLAGS iStopFlags)
int32_t BUFFER_INFO_CMD
Definition GenTL_v1_5.h:468
int32_t GC_ERROR
Definition GenTL_v1_5.h:182
GC_API_P() PDSQueueBuffer(DS_HANDLE hDataStream, BUFFER_HANDLE hBuffer)
GC_API TLOpen(TL_HANDLE *phTL)
GC_API IFGetParentTL(IF_HANDLE hIface, TL_HANDLE *phSystem)
void * BUFFER_HANDLE
Definition GenTL_v1_5.h:232
GC_API DSGetBufferChunkData(DS_HANDLE hDataStream, BUFFER_HANDLE hBuffer, SINGLE_CHUNK_DATA *pChunkData, size_t *piNumChunks)
EVENT_HANDLE const void size_t EVENT_DATA_INFO_CMD INFO_DATATYPE void size_t * piOutSize
Definition GenTL_v1_5.h:785
GC_API_P() PDevGetDataStreamID(DEV_HANDLE hDevice, uint32_t iIndex, char *sDataStreamID, size_t *piSize)
PAYLOADTYPE_INFO_IDS
Definition GenTL_v1_5.h:495
@ PAYLOAD_TYPE_IMAGE
Definition GenTL_v1_5.h:497
@ PAYLOAD_TYPE_MULTI_PART
Definition GenTL_v1_5.h:506
@ PAYLOAD_TYPE_CHUNK_DATA
Definition GenTL_v1_5.h:500
@ PAYLOAD_TYPE_JPEG
Definition GenTL_v1_5.h:501
@ PAYLOAD_TYPE_H264
Definition GenTL_v1_5.h:503
@ PAYLOAD_TYPE_UNKNOWN
Definition GenTL_v1_5.h:496
@ PAYLOAD_TYPE_CHUNK_ONLY
Definition GenTL_v1_5.h:504
@ PAYLOAD_TYPE_RAW_DATA
Definition GenTL_v1_5.h:498
@ PAYLOAD_TYPE_DEVICE_SPECIFIC
Definition GenTL_v1_5.h:505
@ PAYLOAD_TYPE_FILE
Definition GenTL_v1_5.h:499
@ PAYLOAD_TYPE_CUSTOM_ID
Definition GenTL_v1_5.h:508
@ PAYLOAD_TYPE_JPEG2000
Definition GenTL_v1_5.h:502
GC_API_P() PGCReadPort(PORT_HANDLE hPort, uint64_t iAddress, void *pBuffer, size_t *piSize)
ACQ_START_FLAGS_LIST
Definition GenTL_v1_5.h:378
@ ACQ_START_FLAGS_CUSTOM_ID
Definition GenTL_v1_5.h:381
@ ACQ_START_FLAGS_DEFAULT
Definition GenTL_v1_5.h:379
STREAM_INFO_CMD_LIST
Definition GenTL_v1_5.h:406
@ STREAM_INFO_PAYLOAD_SIZE
Definition GenTL_v1_5.h:414
@ STREAM_INFO_BUF_ANNOUNCE_MIN
Definition GenTL_v1_5.h:420
@ STREAM_INFO_NUM_DELIVERED
Definition GenTL_v1_5.h:408
@ STREAM_INFO_IS_GRABBING
Definition GenTL_v1_5.h:415
@ STREAM_INFO_TLTYPE
Definition GenTL_v1_5.h:418
@ STREAM_INFO_NUM_UNDERRUN
Definition GenTL_v1_5.h:409
@ STREAM_INFO_ID
Definition GenTL_v1_5.h:407
@ STREAM_INFO_NUM_QUEUED
Definition GenTL_v1_5.h:411
@ STREAM_INFO_NUM_AWAIT_DELIVERY
Definition GenTL_v1_5.h:412
@ STREAM_INFO_BUF_ALIGNMENT
Definition GenTL_v1_5.h:422
@ STREAM_INFO_CUSTOM_ID
Definition GenTL_v1_5.h:424
@ STREAM_INFO_NUM_CHUNKS_MAX
Definition GenTL_v1_5.h:419
@ STREAM_INFO_NUM_STARTED
Definition GenTL_v1_5.h:413
@ STREAM_INFO_NUM_ANNOUNCED
Definition GenTL_v1_5.h:410
@ STREAM_INFO_DEFINES_PAYLOADSIZE
Definition GenTL_v1_5.h:416
GC_API GCWritePortStacked(PORT_HANDLE hPort, PORT_REGISTER_STACK_ENTRY *pEntries, size_t *piNumEntries)
DS_HANDLE void size_t void BUFFER_HANDLE * phBuffer
Definition GenTL_v1_5.h:820
int32_t ACQ_QUEUE_TYPE
Definition GenTL_v1_5.h:401
GC_API DevGetNumDataStreams(DEV_HANDLE hDevice, uint32_t *piNumDataStreams)
GC_API_P() PGCGetNumPortURLs(PORT_HANDLE hPort, uint32_t *iNumURLs)
GC_API GCUnregisterEvent(EVENTSRC_HANDLE hEventSrc, EVENT_TYPE iEventID)
GC_API_P() PDSFlushQueue(DS_HANDLE hDataStream, ACQ_QUEUE_TYPE iOperation)
GC_API DSFlushQueue(DS_HANDLE hDataStream, ACQ_QUEUE_TYPE iOperation)
GC_API_P() PDevOpenDataStream(DEV_HANDLE hDevice, const char *sDataStreamID, DS_HANDLE *phDataStream)
GC_API GCGetLastError(GC_ERROR *piErrorCode, char *sErrText, size_t *piSize)
GC_API_P() PTLGetNumInterfaces(TL_HANDLE hTL, uint32_t *piNumIfaces)
GC_API GCCloseLib(void)
GC_API GCInitLib(void)
GC_API_P() PIFClose(IF_HANDLE hIface)
TL_INFO_CMD_LIST
Definition GenTL_v1_5.h:278
@ TL_INFO_CHAR_ENCODING
Definition GenTL_v1_5.h:288
@ TL_INFO_VERSION
Definition GenTL_v1_5.h:282
@ TL_INFO_PATHNAME
Definition GenTL_v1_5.h:285
@ TL_INFO_TLTYPE
Definition GenTL_v1_5.h:283
@ TL_INFO_NAME
Definition GenTL_v1_5.h:284
@ TL_INFO_DISPLAYNAME
Definition GenTL_v1_5.h:286
@ TL_INFO_GENTL_VER_MINOR
Definition GenTL_v1_5.h:290
@ TL_INFO_VENDOR
Definition GenTL_v1_5.h:280
@ TL_INFO_MODEL
Definition GenTL_v1_5.h:281
@ TL_INFO_ID
Definition GenTL_v1_5.h:279
@ TL_INFO_GENTL_VER_MAJOR
Definition GenTL_v1_5.h:289
@ TL_INFO_CUSTOM_ID
Definition GenTL_v1_5.h:291
int32_t PORT_INFO_CMD
Definition GenTL_v1_5.h:572
GC_API EventGetDataInfo(EVENT_HANDLE hEvent, const void *pInBuffer, size_t iInSize, EVENT_DATA_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pOutBuffer, size_t *piOutSize)
PIXELFORMAT_NAMESPACE_IDS
Definition GenTL_v1_5.h:514
@ PIXELFORMAT_NAMESPACE_PFNC_16BIT
Definition GenTL_v1_5.h:518
@ PIXELFORMAT_NAMESPACE_IIDC
Definition GenTL_v1_5.h:517
@ PIXELFORMAT_NAMESPACE_UNKNOWN
Definition GenTL_v1_5.h:515
@ PIXELFORMAT_NAMESPACE_PFNC_32BIT
Definition GenTL_v1_5.h:519
@ PIXELFORMAT_NAMESPACE_CUSTOM_ID
Definition GenTL_v1_5.h:521
@ PIXELFORMAT_NAMESPACE_GEV
Definition GenTL_v1_5.h:516
int32_t ACQ_START_FLAGS
Definition GenTL_v1_5.h:383
GC_API_P() PDevGetPort(DEV_HANDLE hDevice, PORT_HANDLE *phRemoteDevice)
GC_API_P() PIFOpenDevice(IF_HANDLE hIface, const char *sDeviceID, DEVICE_ACCESS_FLAGS iOpenFlags, DEV_HANDLE *phDevice)
PORT_HANDLE PORT_INFO_CMD iInfoCmd
Definition GenTL_v1_5.h:778
GC_API_P() PDSStopAcquisition(DS_HANDLE hDataStream, ACQ_STOP_FLAGS iStopFlags)
uint8_t bool8_t
Definition GenTL_v1_5.h:105
GC_API_P() PTLGetInterfaceID(TL_HANDLE hTL, uint32_t iIndex, char *sID, size_t *piSize)
GC_API TLGetInfo(TL_HANDLE hTL, TL_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize)
GC_API DSGetParentDev(DS_HANDLE hDataStream, DEV_HANDLE *phDevice)
void * EVENTSRC_HANDLE
Definition GenTL_v1_5.h:234
DEVICE_ACCESS_FLAGS_LIST
Definition GenTL_v1_5.h:310
@ DEVICE_ACCESS_NONE
Definition GenTL_v1_5.h:313
@ DEVICE_ACCESS_CUSTOM_ID
Definition GenTL_v1_5.h:321
@ DEVICE_ACCESS_EXCLUSIVE
Definition GenTL_v1_5.h:318
@ DEVICE_ACCESS_READONLY
Definition GenTL_v1_5.h:315
@ DEVICE_ACCESS_UNKNOWN
Definition GenTL_v1_5.h:311
@ DEVICE_ACCESS_CONTROL
Definition GenTL_v1_5.h:316
int32_t ACQ_STOP_FLAGS
Definition GenTL_v1_5.h:373
TL_HANDLE const char * sIfaceID
Definition GenTL_v1_5.h:796
GC_API DSGetNumBufferParts(DS_HANDLE hDataStream, BUFFER_HANDLE hBuffer, uint32_t *piNumParts)
GC_API_P() PDSGetBufferID(DS_HANDLE hDataStream, uint32_t iIndex, BUFFER_HANDLE *phBuffer)
INFO_DATATYPE_LIST
Definition GenTL_v1_5.h:245
@ INFO_DATATYPE_BUFFER
Definition GenTL_v1_5.h:260
@ INFO_DATATYPE_UNKNOWN
Definition GenTL_v1_5.h:246
@ INFO_DATATYPE_UINT16
Definition GenTL_v1_5.h:251
@ INFO_DATATYPE_FLOAT64
Definition GenTL_v1_5.h:256
@ INFO_DATATYPE_CUSTOM_ID
Definition GenTL_v1_5.h:263
@ INFO_DATATYPE_STRING
Definition GenTL_v1_5.h:247
@ INFO_DATATYPE_SIZET
Definition GenTL_v1_5.h:259
@ INFO_DATATYPE_STRINGLIST
Definition GenTL_v1_5.h:248
@ INFO_DATATYPE_UINT64
Definition GenTL_v1_5.h:255
@ INFO_DATATYPE_INT64
Definition GenTL_v1_5.h:254
@ INFO_DATATYPE_INT32
Definition GenTL_v1_5.h:252
@ INFO_DATATYPE_PTRDIFF
Definition GenTL_v1_5.h:261
@ INFO_DATATYPE_PTR
Definition GenTL_v1_5.h:257
@ INFO_DATATYPE_UINT32
Definition GenTL_v1_5.h:253
@ INFO_DATATYPE_BOOL8
Definition GenTL_v1_5.h:258
@ INFO_DATATYPE_INT16
Definition GenTL_v1_5.h:250
void * DEV_HANDLE
Definition GenTL_v1_5.h:225
EVENT_HANDLE const void size_t iInSize
Definition GenTL_v1_5.h:784
void * IF_HANDLE
Definition GenTL_v1_5.h:224
GC_API EventGetData(EVENT_HANDLE hEvent, void *pBuffer, size_t *piSize, uint64_t iTimeout)
GC_API GCReadPortStacked(PORT_HANDLE hPort, PORT_REGISTER_STACK_ENTRY *pEntries, size_t *piNumEntries)
GC_API DSAnnounceBuffer(DS_HANDLE hDataStream, void *pBuffer, size_t iSize, void *pPrivate, BUFFER_HANDLE *phBuffer)
URL_SCHEME_IDS
Definition GenTL_v1_5.h:577
@ URL_SCHEME_LOCAL
Definition GenTL_v1_5.h:578
@ URL_SCHEME_CUSTOM_ID
Definition GenTL_v1_5.h:582
@ URL_SCHEME_HTTP
Definition GenTL_v1_5.h:579
@ URL_SCHEME_FILE
Definition GenTL_v1_5.h:580
GC_API GCGetInfo(TL_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize)
GC_API_P() PGCRegisterEvent(EVENTSRC_HANDLE hEventSrc, EVENT_TYPE iEventID, EVENT_HANDLE *phEvent)
DS_HANDLE hDataStream
Definition GenTL_v1_5.h:820
GC_API_P() PDevClose(DEV_HANDLE hDevice)
GC_API_P() PGCWritePortStacked(PORT_HANDLE hPort, PORT_REGISTER_STACK_ENTRY *pEntries, size_t *piNumEntries)
DS_HANDLE BUFFER_HANDLE hBuffer
Definition GenTL_v1_5.h:832
GC_API TLClose(TL_HANDLE hTL)
GC_API_P() PTLUpdateInterfaceList(TL_HANDLE hTL, bool8_t *pbChanged, uint64_t iTimeout)
DS_HANDLE BUFFER_HANDLE uint32_t iPartIndex
Definition GenTL_v1_5.h:854
PORT_HANDLE PORT_INFO_CMD INFO_DATATYPE void * pBuffer
Definition GenTL_v1_5.h:778
GC_API_P() PTLOpen(TL_HANDLE *phTL)
GC_API DevOpenDataStream(DEV_HANDLE hDevice, const char *sDataStreamID, DS_HANDLE *phDataStream)
GC_API GCGetNumPortURLs(PORT_HANDLE hPort, uint32_t *piNumURLs)
DS_HANDLE void size_t void * pPrivate
Definition GenTL_v1_5.h:820
GC_API TLGetInterfaceInfo(TL_HANDLE hTL, const char *sIfaceID, INTERFACE_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize)
PORT_HANDLE uint32_t iURLIndex
Definition GenTL_v1_5.h:838
EVENT_HANDLE hEvent
Definition GenTL_v1_5.h:784
PORT_HANDLE hPort
Definition GenTL_v1_5.h:778
int32_t BUFFER_PART_INFO_CMD
Definition GenTL_v1_5.h:491
int32_t EVENT_INFO_CMD
Definition GenTL_v1_5.h:637
DS_HANDLE BUFFER_HANDLE SINGLE_CHUNK_DATA * pChunkData
Definition GenTL_v1_5.h:844
PORT_HANDLE PORT_INFO_CMD INFO_DATATYPE * piType
Definition GenTL_v1_5.h:778
GC_API_P() PGCReadPortStacked(PORT_HANDLE hPort, PORT_REGISTER_STACK_ENTRY *pEntries, size_t *piNumEntries)
GC_API DSQueueBuffer(DS_HANDLE hDataStream, BUFFER_HANDLE hBuffer)
GC_API GCRegisterEvent(EVENTSRC_HANDLE hEventSrc, EVENT_TYPE iEventID, EVENT_HANDLE *phEvent)
GC_API DevGetPort(DEV_HANDLE hDevice, PORT_HANDLE *phRemoteDevice)
EVENT_HANDLE const void * pInBuffer
Definition GenTL_v1_5.h:784
GC_API DSClose(DS_HANDLE hDataStream)
GC_API_P() PEventKill(EVENT_HANDLE hEvent)
int32_t EVENT_TYPE
Definition GenTL_v1_5.h:623
GC_API_P() PTLGetInfo(TL_HANDLE hTL, TL_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize)
PORT_INFO_CMD_LIST
Definition GenTL_v1_5.h:555
@ PORT_INFO_CUSTOM_ID
Definition GenTL_v1_5.h:570
@ PORT_INFO_MODEL
Definition GenTL_v1_5.h:558
@ PORT_INFO_VERSION
Definition GenTL_v1_5.h:567
@ PORT_INFO_ACCESS_NA
Definition GenTL_v1_5.h:565
@ PORT_INFO_ID
Definition GenTL_v1_5.h:556
@ PORT_INFO_BIG_ENDIAN
Definition GenTL_v1_5.h:562
@ PORT_INFO_PORTNAME
Definition GenTL_v1_5.h:568
@ PORT_INFO_MODULE
Definition GenTL_v1_5.h:560
@ PORT_INFO_ACCESS_WRITE
Definition GenTL_v1_5.h:564
@ PORT_INFO_VENDOR
Definition GenTL_v1_5.h:557
@ PORT_INFO_ACCESS_NI
Definition GenTL_v1_5.h:566
@ PORT_INFO_LITTLE_ENDIAN
Definition GenTL_v1_5.h:561
@ PORT_INFO_TLTYPE
Definition GenTL_v1_5.h:559
@ PORT_INFO_ACCESS_READ
Definition GenTL_v1_5.h:563
DS_HANDLE BUFFER_HANDLE SINGLE_CHUNK_DATA size_t * piNumChunks
Definition GenTL_v1_5.h:844
ACQ_STOP_FLAGS_LIST
Definition GenTL_v1_5.h:365
@ ACQ_STOP_FLAGS_CUSTOM_ID
Definition GenTL_v1_5.h:371
@ ACQ_STOP_FLAGS_KILL
Definition GenTL_v1_5.h:368
@ ACQ_STOP_FLAGS_DEFAULT
Definition GenTL_v1_5.h:366
GC_API GCGetPortURLInfo(PORT_HANDLE hPort, uint32_t iURLIndex, URL_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize)
void * EVENT_HANDLE
Definition GenTL_v1_5.h:238
EVENT_INFO_CMD_LIST
Definition GenTL_v1_5.h:627
@ EVENT_NUM_FIRED
Definition GenTL_v1_5.h:630
@ EVENT_EVENT_TYPE
Definition GenTL_v1_5.h:628
@ EVENT_NUM_IN_QUEUE
Definition GenTL_v1_5.h:629
@ EVENT_SIZE_MAX
Definition GenTL_v1_5.h:631
@ EVENT_INFO_DATA_SIZE_MAX
Definition GenTL_v1_5.h:632
@ EVENT_INFO_CUSTOM_ID
Definition GenTL_v1_5.h:635
BUFFER_PART_INFO_CMD_LIST
Definition GenTL_v1_5.h:473
@ BUFFER_PART_INFO_SOURCE_ID
Definition GenTL_v1_5.h:485
@ BUFFER_PART_INFO_YOFFSET
Definition GenTL_v1_5.h:483
@ BUFFER_PART_INFO_HEIGHT
Definition GenTL_v1_5.h:481
@ BUFFER_PART_INFO_DATA_TYPE
Definition GenTL_v1_5.h:476
@ BUFFER_PART_INFO_XOFFSET
Definition GenTL_v1_5.h:482
@ BUFFER_PART_INFO_DATA_SIZE
Definition GenTL_v1_5.h:475
@ BUFFER_PART_INFO_WIDTH
Definition GenTL_v1_5.h:480
@ BUFFER_PART_INFO_DELIVERED_IMAGEHEIGHT
Definition GenTL_v1_5.h:487
@ BUFFER_PART_INFO_XPADDING
Definition GenTL_v1_5.h:484
@ BUFFER_PART_INFO_DATA_FORMAT
Definition GenTL_v1_5.h:477
@ BUFFER_PART_INFO_CUSTOM_ID
Definition GenTL_v1_5.h:489
@ BUFFER_PART_INFO_BASE
Definition GenTL_v1_5.h:474
@ BUFFER_PART_INFO_DATA_FORMAT_NAMESPACE
Definition GenTL_v1_5.h:478
GC_API_P() PGCCloseLib(void)
GC_API DSRevokeBuffer(DS_HANDLE hDataStream, BUFFER_HANDLE hBuffer, void **pBuffer, void **pPrivate)
int32_t PIXELENDIANNESS_ID
Definition GenTL_v1_5.h:532
GC_API DSGetBufferID(DS_HANDLE hDataStream, uint32_t iIndex, BUFFER_HANDLE *phBuffer)
DEV_HANDLE hDevice
Definition GenTL_v1_5.h:816
int32_t DEVICE_ACCESS_STATUS
Definition GenTL_v1_5.h:339
GC_API_P() PIFUpdateDeviceList(IF_HANDLE hIface, bool8_t *pbChanged, uint64_t iTimeout)
#define GC_API
Definition GenTL_v1_5.h:681
int32_t DEVICE_INFO_CMD
Definition GenTL_v1_5.h:360
int32_t EVENT_DATA_INFO_CMD
Definition GenTL_v1_5.h:648
EVENT_HANDLE const void size_t EVENT_DATA_INFO_CMD INFO_DATATYPE void * pOutBuffer
Definition GenTL_v1_5.h:785
int32_t URL_INFO_CMD
Definition GenTL_v1_5.h:604
IF_HANDLE hIface
Definition GenTL_v1_5.h:802
ACQ_QUEUE_TYPE_LIST
Definition GenTL_v1_5.h:388
@ ACQ_QUEUE_OUTPUT_DISCARD
Definition GenTL_v1_5.h:391
@ ACQ_QUEUE_ALL_TO_INPUT
Definition GenTL_v1_5.h:393
@ ACQ_QUEUE_UNQUEUED_TO_INPUT
Definition GenTL_v1_5.h:395
@ ACQ_QUEUE_INPUT_TO_OUTPUT
Definition GenTL_v1_5.h:389
@ ACQ_QUEUE_CUSTOM_ID
Definition GenTL_v1_5.h:399
@ ACQ_QUEUE_ALL_DISCARD
Definition GenTL_v1_5.h:397
GC_API_P() PDSRevokeBuffer(DS_HANDLE hDataStream, BUFFER_HANDLE hBuffer, void **pBuffer, void **pPrivate)
int32_t TL_INFO_CMD
Definition GenTL_v1_5.h:293
void * DS_HANDLE
Definition GenTL_v1_5.h:226
GC_API EventFlush(EVENT_HANDLE hEvent)
GC_API DevGetParentIF(DEV_HANDLE hDevice, IF_HANDLE *phIface)
int32_t PAYLOADTYPE_INFO_ID
Definition GenTL_v1_5.h:510
GC_API_P() PIFGetNumDevices(IF_HANDLE hIface, uint32_t *piNumDevices)
GC_API_P() PGCGetPortURL(PORT_HANDLE hPort, char *sURL, size_t *piSize)
int32_t URL_SCHEME_ID
Definition GenTL_v1_5.h:584
GC_API TLUpdateInterfaceList(TL_HANDLE hTL, bool8_t *pbChanged, uint64_t iTimeout)
GC_API EventGetInfo(EVENT_HANDLE hEvent, EVENT_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize)
GC_API_P() PGCGetLastError(GC_ERROR *piErrorCode, char *sErrText, size_t *piSize)
GC_API GCWritePort(PORT_HANDLE hPort, uint64_t iAddress, const void *pBuffer, size_t *piSize)
GC_ERROR_LIST
Definition GenTL_v1_5.h:155
@ GC_ERR_BUFFER_TOO_SMALL
Definition GenTL_v1_5.h:172
@ GC_ERR_NO_DATA
Definition GenTL_v1_5.h:164
@ GC_ERR_IO
Definition GenTL_v1_5.h:166
@ GC_ERR_PARSING_CHUNK_DATA
Definition GenTL_v1_5.h:174
@ GC_ERR_INVALID_BUFFER
Definition GenTL_v1_5.h:169
@ GC_ERR_INVALID_INDEX
Definition GenTL_v1_5.h:173
@ GC_ERR_CUSTOM_ID
Definition GenTL_v1_5.h:180
@ GC_ERR_ERROR
Definition GenTL_v1_5.h:157
@ GC_ERR_NOT_INITIALIZED
Definition GenTL_v1_5.h:158
@ GC_ERR_ABORT
Definition GenTL_v1_5.h:168
@ GC_ERR_INVALID_PARAMETER
Definition GenTL_v1_5.h:165
@ GC_ERR_OUT_OF_MEMORY
Definition GenTL_v1_5.h:177
@ GC_ERR_INVALID_ID
Definition GenTL_v1_5.h:163
@ GC_ERR_NOT_AVAILABLE
Definition GenTL_v1_5.h:170
@ GC_ERR_ACCESS_DENIED
Definition GenTL_v1_5.h:161
@ GC_ERR_SUCCESS
Definition GenTL_v1_5.h:156
@ GC_ERR_NOT_IMPLEMENTED
Definition GenTL_v1_5.h:159
@ GC_ERR_RESOURCE_EXHAUSTED
Definition GenTL_v1_5.h:176
@ GC_ERR_BUSY
Definition GenTL_v1_5.h:178
@ GC_ERR_INVALID_HANDLE
Definition GenTL_v1_5.h:162
@ GC_ERR_INVALID_VALUE
Definition GenTL_v1_5.h:175
@ GC_ERR_INVALID_ADDRESS
Definition GenTL_v1_5.h:171
@ GC_ERR_TIMEOUT
Definition GenTL_v1_5.h:167
@ GC_ERR_RESOURCE_IN_USE
Definition GenTL_v1_5.h:160
PIXELENDIANNESS_IDS
Definition GenTL_v1_5.h:527
@ PIXELENDIANNESS_BIG
Definition GenTL_v1_5.h:530
@ PIXELENDIANNESS_LITTLE
Definition GenTL_v1_5.h:529
@ PIXELENDIANNESS_UNKNOWN
Definition GenTL_v1_5.h:528
GC_API DSGetBufferPartInfo(DS_HANDLE hDataStream, BUFFER_HANDLE hBuffer, uint32_t iPartIndex, BUFFER_PART_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize)
GC_API IFClose(IF_HANDLE hIface)
EVENT_DATA_INFO_CMD_LIST
Definition GenTL_v1_5.h:641
@ EVENT_DATA_CUSTOM_ID
Definition GenTL_v1_5.h:646
@ EVENT_DATA_ID
Definition GenTL_v1_5.h:642
@ EVENT_DATA_VALUE
Definition GenTL_v1_5.h:643
@ EVENT_DATA_NUMID
Definition GenTL_v1_5.h:644
GC_API_P() PEventFlush(EVENT_HANDLE hEvent)
GC_API GCReadPort(PORT_HANDLE hPort, uint64_t iAddress, void *pBuffer, size_t *piSize)
GC_API IFUpdateDeviceList(IF_HANDLE hIface, bool8_t *pbChanged, uint64_t iTimeout)
GC_API TLGetNumInterfaces(TL_HANDLE hTL, uint32_t *piNumIfaces)
Definition GenTL_v1_5.h:653
BUFFER_HANDLE BufferHandle
Definition GenTL_v1_5.h:654
void * pUserPointer
Definition GenTL_v1_5.h:655
Definition GenTL_v1_5.h:662
size_t Size
Definition GenTL_v1_5.h:665
void * pBuffer
Definition GenTL_v1_5.h:664
uint64_t Address
Definition GenTL_v1_5.h:663
Definition GenTL_v1_5.h:672
ptrdiff_t ChunkOffset
Definition GenTL_v1_5.h:674
size_t ChunkLength
Definition GenTL_v1_5.h:675
uint64_t ChunkID
Definition GenTL_v1_5.h:673