PointSpread® Vidu™ Software Development Kit  V1
Vidu SDK
GenTL.h
Go to the documentation of this file.
1 /****************************************************************************
2 (c) 2004-2019 by GenICam GenTL Subcommittee
3 
4 License: This file is published under the license of the EMVA GenICam Standard Group.
5 A text file describing the legal terms is included in your installation as 'license.txt'.
6 If 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 
9 THIS SOFTWARE IS PROVIDED BY THE EMVA GENICAM STANDARD GROUP "AS IS"
10 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
11 THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
12 PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE EMVA GENICAM STANDARD GROUP
13 OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
14 EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
15 PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
16 OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
17 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
18 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
19 POSSIBILITY OF SUCH DAMAGE.
20 
21 ******************************************************************************/
22 
85 #ifndef GC_TLI_CLIENT_H_
86 #define GC_TLI_CLIENT_H_ 1
87 
88 #ifndef GC_USER_DEFINED_TYPES
89 /* The types should be the same as defined in GCTypes.h from GenApi. But in
90  * case you do not have this header the necessary types are defined here. */
91 #if defined(_WIN32)
92 #if defined(_MSC_VER) && _MSC_VER >= 1600 /* VS2010 provides stdint.h */
93 #include <stdint.h>
94 #elif !defined _STDINT_H && !defined _STDINT
95 /* stdint.h is usually not available under Windows */
96 typedef unsigned char uint8_t;
97 typedef __int32 int32_t;
98 typedef unsigned __int32 uint32_t;
99 typedef unsigned __int64 uint64_t;
100 #endif
101 #else
102 #include <stdint.h>
103 #endif
104 
105 #ifdef __cplusplus
106 typedef bool bool8_t;
107 #else
108 typedef uint8_t bool8_t;
109 #endif
110 #endif /* GC_DEFINE_TYPES */
111 
112 #include <stddef.h>
113 
114 /* Function declaration modifiers */
115 #if defined(_WIN32)
116 #define GCTLIDLL
117 #ifndef GCTLI_NO_DECLSPEC_STATEMENTS
118 #ifdef GCTLIDLL
119 #define GC_IMPORT_EXPORT __declspec(dllexport)
120 #else
121 #define GC_IMPORT_EXPORT __declspec(dllimport)
122 #endif
123 #else
124 #define GC_IMPORT_EXPORT
125 #endif /* # ifndef GCTLI_NO_DECLSPEC_STATEMENTS */
126 #if defined(_M_IX86) || defined(__i386__)
127 #define GC_CALLTYPE __stdcall
128 #else
129 #define GC_CALLTYPE /* default */
130 #endif
131 #ifndef EXTERN_C
132 #define EXTERN_C extern "C"
133 #endif
134 
135 #elif defined(__GNUC__) && (__GNUC__ >= 4) && (defined(__linux__) || defined(__APPLE__))
136 #define GC_IMPORT_EXPORT __attribute__((visibility("default")))
137 #if defined(__i386__)
138 #define GC_CALLTYPE __attribute__((stdcall))
139 #else
140 #define GC_CALLTYPE /* default */
141 #endif
142 #ifndef EXTERN_C
143 #define EXTERN_C extern "C"
144 #endif
145 
146 #else
147 #error Unknown platform, file needs adaption
148 #endif
149 
150 #ifdef __cplusplus
151 extern "C"
152 {
153  namespace GenTL
154  {
155 #endif
156 
159  {
161  GC_ERR_ERROR = -1001,
168  GC_ERR_NO_DATA = -1008,
170  GC_ERR_IO = -1010,
171  GC_ERR_TIMEOUT = -1011,
172  GC_ERR_ABORT = -1012, /* GenTL v1.1 */
173  GC_ERR_INVALID_BUFFER = -1013, /* GenTL v1.1 */
174  GC_ERR_NOT_AVAILABLE = -1014, /* GenTL v1.2 */
175  GC_ERR_INVALID_ADDRESS = -1015, /* GenTL v1.3 */
176  GC_ERR_BUFFER_TOO_SMALL = -1016, /* GenTL v1.4 */
177  GC_ERR_INVALID_INDEX = -1017, /* GenTL v1.4 */
178  GC_ERR_PARSING_CHUNK_DATA = -1018, /* GenTL v1.4 */
179  GC_ERR_INVALID_VALUE = -1019, /* GenTL v1.4 */
180  GC_ERR_RESOURCE_EXHAUSTED = -1020, /* GenTL v1.4 */
181  GC_ERR_OUT_OF_MEMORY = -1021, /* GenTL v1.4 */
182  GC_ERR_BUSY = -1022, /* GenTL v1.5 */
183  GC_ERR_AMBIGUOUS = -1023, /* GenTL v1.6 */
184 
185  GC_ERR_CUSTOM_ID = -10000
186  };
187  typedef int32_t GC_ERROR;
188 
189 #ifndef GC_GENTL_HEADER_VERSION
190 
191 #define GenTLMajorVersion \
192  1 /* defines the major version of the GenICam GenTL standard version this header is based on */
193 #define GenTLMinorVersion \
194  6 /* defines the minor version of the GenICam GenTL standard version this header is based on */
195 #define GenTLSubMinorVersion \
196  0 /* defines the sub minor version of the GenICam GenTL standard version this header is based on */
197 
198 #define GC_GENTL_HEADER_VERSION_CODE(major, minor, subminor) (((major) << 24) + ((minor) << 16) + (subminor))
199 #define GC_GENTL_HEADER_VERSION GC_GENTL_HEADER_VERSION_CODE(GenTLMajorVersion, GenTLMinorVersion, GenTLSubMinorVersion)
200 
201 #endif /* GC_GENTL_HEADER_VERSION */
202 
203 #ifndef GC_GENTL_DONT_USE_TYPE_DEFINITIONS
204 #define TLTypeMixedName "Mixed" /* Type to use for several supported technologies */
205 #define TLTypeCustomName "Custom" /* Type to use for custom technologies */
206 #define TLTypeGEVName "GEV" /* Type to use for GigE Vision technology */
207 #define TLTypeCLName "CL" /* Type to use for Camera Link technology */
208 #define TLTypeIIDCName "IIDC" /* Type to use for IIDC 1394 technology */
209 #define TLTypeUVCName "UVC" /* Type to use for USB video class devices */
210 #define TLTypeCXPName "CXP" /* Type to use for CoaXPress, V1.3 */
211 #define TLTypeCLHSName "CLHS" /* Type to use for Camera Link HS, V1.3 */
212 #define TLTypeU3VName "U3V" /* Type to use for USB3 Vision Standard, V1.4 */
213 #define TLTypeETHERNETName "Ethernet" /* Type to use for Ethernet devices, V1.3 */
214 #define TLTypePCIName "PCI" /* Type to use for PCI/PCIe devices, V1.3 */
215 #endif /* GC_GENTL_DONT_USE_TYPE_DEFINITIONS */
216 
217 #ifndef GC_GENTL_DONT_USE_MODULE_NAMES
218 #define TLSystemModuleName "TLSystem" /* Name to identify a system module */
219 #define TLInterfaceModuleName "TLInterface" /* Name to identify a interface module */
220 #define TLDeviceModuleName "TLDevice" /* Name to identify a device module */
221 #define TLDataStreamModuleName "TLDataStream" /* Name to identify a data stream module */
222 #define TLBufferModuleName "TLBuffer" /* Name to identify a buffer module */
223 #define TLRemoteDeviceModuleName "Device" /* Name to identify a remote device module */
224 #endif /* GC_GENTL_DONT_USE_MODULE_NAMES */
225 
226  /* Handles */
227  typedef void *TL_HANDLE;
228  typedef void *IF_HANDLE;
229  typedef void *DEV_HANDLE;
230  typedef void *DS_HANDLE;
231  typedef void *PORT_HANDLE;
236  typedef void *BUFFER_HANDLE; /*>! Buffer handle, obtained through the ::DSAnnounceBuffer or related function */
237  typedef void *
238  EVENTSRC_HANDLE; /* A Event source handle is used to register a OS Event and to retrieve a GenTL event handle */
239  /* a EVENTSRC_HANDLE can be on of the following TL_HANDLE, */
240  /* IF_HANDLE, DEV_HANDLE, DS_HANDLE, BUFFER_HANDLE */
241  typedef void *EVENT_HANDLE; /* Event handle, obtained through the ::GCRegisterEvent */
242 
243 #define GENTL_INVALID_HANDLE NULL /* Invalid handle value, V1.4 */
244 #define GENTL_INFINITE 0xFFFFFFFFFFFFFFFFULL /* Infinite value to be used in various function calls, V1.4 */
245 
248  {
252  2,
267  INFO_DATATYPE_FLOAT32 = 1001,
268  };
269  typedef int32_t INFO_DATATYPE;
270 
273  {
276  };
277  typedef int32_t TL_CHAR_ENCODING; /* GenTL v1.4 */
278 
281  {
289  TL_INFO_DISPLAYNAME = 7,
293  9,
295  10,
299  };
300  typedef int32_t TL_INFO_CMD;
301 
305  {
310  };
311  typedef int32_t INTERFACE_INFO_CMD;
312 
315  {
317  0,
318  DEVICE_ACCESS_NONE = 1,
327  };
328  typedef int32_t DEVICE_ACCESS_FLAGS;
329 
333  {
343  };
344  typedef int32_t DEVICE_ACCESS_STATUS;
345 
350  {
356  4,
364  DEVICE_INFO_CUSTOM_ID = 1000
365  };
366  typedef int32_t DEVICE_INFO_CMD; /* DEVICE_INFO_CMD_LIST */
367 
371  {
374  ACQ_STOP_FLAGS_KILL = 1,
378  };
379  typedef int32_t ACQ_STOP_FLAGS;
380 
384  {
388  };
389  typedef int32_t ACQ_START_FLAGS;
390 
394  {
402  3,
405  ACQ_QUEUE_CUSTOM_ID = 1000
406  };
407  typedef int32_t ACQ_QUEUE_TYPE;
408 
412  {
422  8,
428  12,
436  };
437  typedef int32_t STREAM_INFO_CMD;
438 
440  {
446  4,
448  5,
450  6,
452  7,
479  BUFFER_INFO_CUSTOM_ID = 1000
480  };
481  typedef int32_t BUFFER_INFO_CMD;
482 
486  {
490  2,
492  3,
494  4,
502  10,
504  11,
506  12,
508  13,
510  };
511  typedef int32_t BUFFER_PART_INFO_CMD; /* GenTL v1.5 */
512 
515  {
529  PAYLOAD_TYPE_CUSTOM_ID = 1000
530  };
531  typedef int32_t PAYLOADTYPE_INFO_ID;
532 
535  {
543  };
544  typedef int32_t PIXELFORMAT_NAMESPACE_ID; /* GenTL v1.2 */
545 
548  {
552  };
553  typedef int32_t PIXELENDIANNESS_ID; /* GenTL v1.4*/
554 
557  {
572  };
573  typedef int32_t PARTDATATYPE_ID; /* GenTL v1.5*/
574 
578  {
593  PORT_INFO_CUSTOM_ID = 1000
594  };
595  typedef int32_t PORT_INFO_CMD;
596 
600  {
605  URL_SCHEME_CUSTOM_ID = 1000
606  };
607  typedef int32_t URL_SCHEME_ID;
608 
612  {
619  5,
626  URL_INFO_CUSTOM_ID = 1000
627  };
628  typedef int32_t URL_INFO_CMD; /* GenTL v1.1 */
629 
632  {
639  EVENT_REMOTE_DEVICE = 4,
641  EVENT_MODULE = 5,
644  EVENT_CUSTOM_ID = 1000
645  };
646  typedef int32_t EVENT_TYPE;
647 
650  {
656  4,
658  EVENT_INFO_CUSTOM_ID = 1000
659  };
660  typedef int32_t EVENT_INFO_CMD;
661 
664  {
669  EVENT_DATA_CUSTOM_ID = 1000
670  };
671  typedef int32_t EVENT_DATA_INFO_CMD;
672 
676  {
678  FLOW_INFO_CUSTOM_ID = 1000
679  };
680  typedef int32_t FLOW_INFO_CMD; /* GenTL v1.6 */
681 
685  {
689  2,
691  3,
693  4,
694  SEGMENT_INFO_CUSTOM_ID = 1000
695  };
696  typedef int32_t SEGMENT_INFO_CMD;
699 #pragma pack(push, 1)
700  typedef struct S_EVENT_NEW_BUFFER
701  {
702  BUFFER_HANDLE BufferHandle;
703  void *pUserPointer;
705 #pragma pack(pop)
706 
708 #pragma pack(push, 1)
710  {
711  uint64_t Address;
712  void *pBuffer;
713  size_t Size;
715 #pragma pack(pop)
716 
717 #pragma pack(push, 1)
719  typedef struct S_SINGLE_CHUNK_DATA
720  {
721  uint64_t ChunkID;
722  ptrdiff_t ChunkOffset;
723  size_t ChunkLength;
725 #pragma pack(pop)
726 
727 #pragma pack(push, 1)
730  {
731  BUFFER_INFO_CMD iInfoCmd;
732  INFO_DATATYPE iType;
733  void *pBuffer;
734  size_t iSize;
735  GC_ERROR iResult;
737 #pragma pack(pop)
738 
739 #pragma pack(push, 1)
742  {
743  uint32_t iPartIndex;
744  BUFFER_PART_INFO_CMD iInfoCmd;
745  GC_ERROR iResult;
746  INFO_DATATYPE iType;
747  void *pBuffer;
748  size_t iSize;
750 #pragma pack(pop)
751 
752  /* C API Interface Functions */
753 #define GC_API GC_IMPORT_EXPORT GC_ERROR GC_CALLTYPE
764  GC_API GCGetInfo(TL_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize);
765 
774  GC_API GCGetLastError(GC_ERROR *piErrorCode, char *sErrText, size_t *piSize);
775 
781  GC_API GCInitLib(void);
782 
788  GC_API GCCloseLib(void);
789 
801  GC_API GCReadPort(PORT_HANDLE hPort, uint64_t iAddress, void *pBuffer, size_t *piSize);
802 
813  GC_API GCWritePort(PORT_HANDLE hPort, uint64_t iAddress, const void *pBuffer, size_t *piSize);
814 
825  GC_API GCGetPortURL(PORT_HANDLE hPort, char *sURL, size_t *piSize);
826 
839  GC_API GCGetPortInfo(PORT_HANDLE hPort, PORT_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer,
840  size_t *piSize);
841 
850  GC_API GCRegisterEvent(EVENTSRC_HANDLE hEventSrc, EVENT_TYPE iEventID, EVENT_HANDLE *phEvent);
851 
860  GC_API GCUnregisterEvent(EVENTSRC_HANDLE hEventSrc, EVENT_TYPE iEventID);
861 
872  GC_API EventGetData(EVENT_HANDLE hEvent, void *pBuffer, size_t *piSize, uint64_t iTimeout);
873 
886  GC_API EventGetDataInfo(EVENT_HANDLE hEvent, const void *pInBuffer, size_t iInSize, EVENT_DATA_INFO_CMD iInfoCmd,
887  INFO_DATATYPE *piType, void *pOutBuffer, size_t *piOutSize);
888 
899  GC_API EventGetInfo(EVENT_HANDLE hEvent, EVENT_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer,
900  size_t *piSize);
901 
908  GC_API EventFlush(EVENT_HANDLE hEvent);
909 
916  GC_API EventKill(EVENT_HANDLE hEvent);
917 
924  GC_API TLOpen(TL_HANDLE *phTL);
925 
932  GC_API TLClose(TL_HANDLE hTL);
933 
945  GC_API TLGetInfo(TL_HANDLE hTL, TL_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize);
946 
954  GC_API TLGetNumInterfaces(TL_HANDLE hTL, uint32_t *piNumIfaces);
955 
966  GC_API TLGetInterfaceID(TL_HANDLE hTL, uint32_t iIndex, char *sID, size_t *piSize);
967 
980  GC_API TLGetInterfaceInfo(TL_HANDLE hTL, const char *sIfaceID, INTERFACE_INFO_CMD iInfoCmd, INFO_DATATYPE *piType,
981  void *pBuffer, size_t *piSize);
990  GC_API TLOpenInterface(TL_HANDLE hTL, const char *sIfaceID, IF_HANDLE *phIface);
999  GC_API TLUpdateInterfaceList(TL_HANDLE hTL, bool8_t *pbChanged, uint64_t iTimeout);
1000 
1007  GC_API IFClose(IF_HANDLE hIface);
1008 
1020  GC_API IFGetInfo(IF_HANDLE hIface, INTERFACE_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer,
1021  size_t *piSize);
1022 
1030  GC_API IFGetNumDevices(IF_HANDLE hIface, uint32_t *piNumDevices);
1031 
1043  GC_API IFGetDeviceID(IF_HANDLE hIface, uint32_t iIndex, char *sIDeviceID, size_t *piSize);
1044 
1053  GC_API IFUpdateDeviceList(IF_HANDLE hIface, bool8_t *pbChanged, uint64_t iTimeout);
1054 
1067  GC_API IFGetDeviceInfo(IF_HANDLE hIface, const char *sDeviceID, DEVICE_INFO_CMD iInfoCmd, INFO_DATATYPE *piType,
1068  void *pBuffer, size_t *piSize);
1078  GC_API IFOpenDevice(IF_HANDLE hIface, const char *sDeviceID, DEVICE_ACCESS_FLAGS iOpenFlag, DEV_HANDLE *phDevice);
1079 
1087  GC_API DevGetPort(DEV_HANDLE hDevice, PORT_HANDLE *phRemoteDevice);
1088 
1096  GC_API DevGetNumDataStreams(DEV_HANDLE hDevice, uint32_t *piNumDataStreams);
1097 
1108  GC_API DevGetDataStreamID(DEV_HANDLE hDevice, uint32_t iIndex, char *sDataStreamID, size_t *piSize);
1117  GC_API DevOpenDataStream(DEV_HANDLE hDevice, const char *sDataStreamID, DS_HANDLE *phDataStream);
1118 
1130  GC_API DevGetInfo(DEV_HANDLE hDevice, DEVICE_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer,
1131  size_t *piSize);
1138  GC_API DevClose(DEV_HANDLE hDevice);
1139 
1151  GC_API DSAnnounceBuffer(DS_HANDLE hDataStream, void *pBuffer, size_t iSize, void *pPrivate,
1152  BUFFER_HANDLE *phBuffer);
1153 
1163  GC_API DSAllocAndAnnounceBuffer(DS_HANDLE hDataStream, size_t iSize, void *pPrivate, BUFFER_HANDLE *phBuffer);
1164 
1172  GC_API DSFlushQueue(DS_HANDLE hDataStream, ACQ_QUEUE_TYPE iOperation);
1173 
1182  GC_API DSStartAcquisition(DS_HANDLE hDataStream, ACQ_START_FLAGS iStartFlags, uint64_t iNumToAcquire);
1183 
1191  GC_API DSStopAcquisition(DS_HANDLE hDataStream, ACQ_STOP_FLAGS iStopFlags);
1203  GC_API DSGetInfo(DS_HANDLE hDataStream, STREAM_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer,
1204  size_t *piSize);
1205 
1214  GC_API DSGetBufferID(DS_HANDLE hDataStream, uint32_t iIndex, BUFFER_HANDLE *phBuffer);
1215 
1222  GC_API DSClose(DS_HANDLE hDataStream);
1223 
1233  GC_API DSRevokeBuffer(DS_HANDLE hDataStream, BUFFER_HANDLE hBuffer, void **pBuffer, void **pPrivate);
1234 
1242  GC_API DSQueueBuffer(DS_HANDLE hDataStream, BUFFER_HANDLE hBuffer);
1243 
1256  GC_API DSGetBufferInfo(DS_HANDLE hDataStream, BUFFER_HANDLE hBuffer, BUFFER_INFO_CMD iInfoCmd,
1257  INFO_DATATYPE *piType, void *pBuffer, size_t *piSize);
1258 
1259  // start customize
1271  GC_API GCReadPortByName(PORT_HANDLE hPort, const char *varName, INFO_DATATYPE *piType, void *pBuffer,
1272  size_t *piSize);
1284  GC_API GCWritePortByName(PORT_HANDLE hPort, const char *varName, INFO_DATATYPE *piType, const void *pBuffer,
1285  size_t *piSize);
1286 
1298  GC_API PDBufferGetInfo(BUFFER_HANDLE hBuffer, BUFFER_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer,
1299  size_t *piSize);
1310  GC_API PDBufferGetMeta(BUFFER_HANDLE hBuffer, uint32_t index, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize);
1311 
1322  GC_API PDBufferGetMetaByName(BUFFER_HANDLE hBuffer, const char *varName, INFO_DATATYPE *piType, void *pBuffer,
1323  size_t *piSize);
1324 
1334  GC_API PDBufferGetMetaDesc(BUFFER_HANDLE hBuffer, uint32_t index, const char **ppVarName, const char **ppDescName);
1335 
1343  GC_API PDBufferGetMetaNum(BUFFER_HANDLE hBuffer, size_t *pMetaItemNum);
1344 
1356  GC_API PDBufferSave(BUFFER_HANDLE hBuffer, const char *filesName, int opt);
1357  // end customize
1358 
1359  /* GenTL v1.1 */
1368  GC_API GCGetNumPortURLs(PORT_HANDLE hPort, uint32_t *piNumURLs);
1369 
1383  GC_API GCGetPortURLInfo(PORT_HANDLE hPort, uint32_t iURLIndex, URL_INFO_CMD iInfoCmd, INFO_DATATYPE *piType,
1384  void *pBuffer, size_t *piSize);
1385 
1395  GC_API GCReadPortStacked(PORT_HANDLE hPort, PORT_REGISTER_STACK_ENTRY *pEntries, size_t *piNumEntries);
1396 
1406  GC_API GCWritePortStacked(PORT_HANDLE hPort, PORT_REGISTER_STACK_ENTRY *pEntries, size_t *piNumEntries);
1407 
1408  /* GenTL v1.3 */
1409  GC_API DSGetBufferChunkData(DS_HANDLE hDataStream, BUFFER_HANDLE hBuffer, SINGLE_CHUNK_DATA *pChunkData,
1410  size_t *piNumChunks);
1411 
1412  /* GenTL v1.4 */
1420  GC_API IFGetParentTL(IF_HANDLE hIface, TL_HANDLE *phSystem);
1421 
1429  GC_API DevGetParentIF(DEV_HANDLE hDevice, IF_HANDLE *phIface);
1430 
1438  GC_API DSGetParentDev(DS_HANDLE hDataStream, DEV_HANDLE *phDevice);
1439 
1440  /* GenTL v1.5 */
1449  GC_API DSGetNumBufferParts(DS_HANDLE hDataStream, BUFFER_HANDLE hBuffer, uint32_t *piNumParts);
1450 
1464  GC_API DSGetBufferPartInfo(DS_HANDLE hDataStream, BUFFER_HANDLE hBuffer, uint32_t iPartIndex,
1465  BUFFER_PART_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize);
1466 
1467  /* GenTL v1.6 */
1468  GC_API DSAnnounceCompositeBuffer(DS_HANDLE hDataStream, size_t iNumSegments, void **ppSegments, size_t *piSizes,
1469  void *pPrivate, BUFFER_HANDLE *phBuffer);
1470  GC_API DSGetBufferInfoStacked(DS_HANDLE hDataStream, BUFFER_HANDLE hBuffer, DS_BUFFER_INFO_STACKED *pInfoStacked,
1471  size_t iNumInfos);
1472  GC_API DSGetBufferPartInfoStacked(DS_HANDLE hDataStream, BUFFER_HANDLE hBuffer,
1473  DS_BUFFER_PART_INFO_STACKED *pInfoStacked, size_t iNumInfos);
1474  GC_API DSGetNumFlows(DS_HANDLE hDataStream, uint32_t *piNumFlows);
1475  GC_API DSGetFlowInfo(DS_HANDLE hDataStream, uint32_t iFlowIndex, FLOW_INFO_CMD iInfoCmd, INFO_DATATYPE *piType,
1476  void *pBuffer, size_t *piSize);
1477  GC_API DSGetNumBufferSegments(DS_HANDLE hDataStream, BUFFER_HANDLE hBuffer, uint32_t *piNumSegments);
1478  GC_API DSGetBufferSegmentInfo(DS_HANDLE hDataStream, BUFFER_HANDLE hBuffer, uint32_t iSegmentIndex,
1479  SEGMENT_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize);
1480 
1481  /* typedefs for dynamic loading */
1482 #define GC_API_P(function) typedef GC_ERROR(GC_CALLTYPE *function)
1483  GC_API_P(PGCGetInfo)
1484  (TL_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize);
1485  GC_API_P(PGCGetLastError)
1486  (GC_ERROR *piErrorCode, char *sErrText, size_t *piSize);
1487  GC_API_P(PGCInitLib)
1488  (void);
1489  GC_API_P(PGCCloseLib)
1490  (void);
1491  GC_API_P(PGCReadPort)
1492  (PORT_HANDLE hPort, uint64_t iAddress, void *pBuffer, size_t *piSize);
1493  GC_API_P(PGCWritePort)
1494  (PORT_HANDLE hPort, uint64_t iAddress, const void *pBuffer, size_t *piSize);
1495  GC_API_P(PGCGetPortURL)
1496  (PORT_HANDLE hPort, char *sURL, size_t *piSize);
1497  GC_API_P(PGCGetPortInfo)
1498  (PORT_HANDLE hPort, PORT_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize);
1499 
1500  GC_API_P(PGCRegisterEvent)
1501  (EVENTSRC_HANDLE hEventSrc, EVENT_TYPE iEventID, EVENT_HANDLE *phEvent);
1502  GC_API_P(PGCUnregisterEvent)
1503  (EVENTSRC_HANDLE hEventSrc, EVENT_TYPE iEventID);
1504  GC_API_P(PEventGetData)
1505  (EVENT_HANDLE hEvent, void *pBuffer, size_t *piSize, uint64_t iTimeout);
1506  GC_API_P(PEventGetDataInfo)
1507  (EVENT_HANDLE hEvent, const void *pInBuffer, size_t iInSize, EVENT_DATA_INFO_CMD iInfoCmd, INFO_DATATYPE *piType,
1508  void *pOutBuffer, size_t *piOutSize);
1509  GC_API_P(PEventGetInfo)
1510  (EVENT_HANDLE hEvent, EVENT_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize);
1511  GC_API_P(PEventFlush)
1512  (EVENT_HANDLE hEvent);
1513  GC_API_P(PEventKill)
1514  (EVENT_HANDLE hEvent);
1515  GC_API_P(PTLOpen)
1516  (TL_HANDLE *phTL);
1517  GC_API_P(PTLClose)
1518  (TL_HANDLE hTL);
1519  GC_API_P(PTLGetInfo)
1520  (TL_HANDLE hTL, TL_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize);
1521  GC_API_P(PTLGetNumInterfaces)
1522  (TL_HANDLE hTL, uint32_t *piNumIfaces);
1523  GC_API_P(PTLGetInterfaceID)
1524  (TL_HANDLE hTL, uint32_t iIndex, char *sID, size_t *piSize);
1525  GC_API_P(PTLGetInterfaceInfo)
1526  (TL_HANDLE hTL, const char *sIfaceID, INTERFACE_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer,
1527  size_t *piSize);
1528  GC_API_P(PTLOpenInterface)
1529  (TL_HANDLE hTL, const char *sIfaceID, IF_HANDLE *phIface);
1530  GC_API_P(PTLUpdateInterfaceList)
1531  (TL_HANDLE hTL, bool8_t *pbChanged, uint64_t iTimeout);
1532  GC_API_P(PIFClose)
1533  (IF_HANDLE hIface);
1534  GC_API_P(PIFGetInfo)
1535  (IF_HANDLE hIface, INTERFACE_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize);
1536  GC_API_P(PIFGetNumDevices)
1537  (IF_HANDLE hIface, uint32_t *piNumDevices);
1538  GC_API_P(PIFGetDeviceID)
1539  (IF_HANDLE hIface, uint32_t iIndex, char *sIDeviceID, size_t *piSize);
1540  GC_API_P(PIFUpdateDeviceList)
1541  (IF_HANDLE hIface, bool8_t *pbChanged, uint64_t iTimeout);
1542  GC_API_P(PIFGetDeviceInfo)
1543  (IF_HANDLE hIface, const char *sDeviceID, DEVICE_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer,
1544  size_t *piSize);
1545  GC_API_P(PIFOpenDevice)
1546  (IF_HANDLE hIface, const char *sDeviceID, DEVICE_ACCESS_FLAGS iOpenFlag, DEV_HANDLE *phDevice);
1547 
1548  GC_API_P(PDevGetPort)
1549  (DEV_HANDLE hDevice, PORT_HANDLE *phRemoteDevice);
1550  GC_API_P(PDevGetNumDataStreams)
1551  (DEV_HANDLE hDevice, uint32_t *piNumDataStreams);
1552  GC_API_P(PDevGetDataStreamID)
1553  (DEV_HANDLE hDevice, uint32_t iIndex, char *sDataStreamID, size_t *piSize);
1554  GC_API_P(PDevOpenDataStream)
1555  (DEV_HANDLE hDevice, const char *sDataStreamID, DS_HANDLE *phDataStream);
1556  GC_API_P(PDevGetInfo)
1557  (DEV_HANDLE hDevice, DEVICE_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize);
1558  GC_API_P(PDevClose)
1559  (DEV_HANDLE hDevice);
1560 
1561  GC_API_P(PDSAnnounceBuffer)
1562  (DS_HANDLE hDataStream, void *pBuffer, size_t iSize, void *pPrivate, BUFFER_HANDLE *phBuffer);
1563  GC_API_P(PDSAllocAndAnnounceBuffer)
1564  (DS_HANDLE hDataStream, size_t iSize, void *pPrivate, BUFFER_HANDLE *phBuffer);
1565  GC_API_P(PDSFlushQueue)
1566  (DS_HANDLE hDataStream, ACQ_QUEUE_TYPE iOperation);
1567  GC_API_P(PDSStartAcquisition)
1568  (DS_HANDLE hDataStream, ACQ_START_FLAGS iStartFlags, uint64_t iNumToAcquire);
1569  GC_API_P(PDSStopAcquisition)
1570  (DS_HANDLE hDataStream, ACQ_STOP_FLAGS iStopFlags);
1571  GC_API_P(PDSGetInfo)
1572  (DS_HANDLE hDataStream, STREAM_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize);
1573  GC_API_P(PDSGetBufferID)
1574  (DS_HANDLE hDataStream, uint32_t iIndex, BUFFER_HANDLE *phBuffer);
1575  GC_API_P(PDSClose)
1576  (DS_HANDLE hDataStream);
1577  GC_API_P(PDSRevokeBuffer)
1578  (DS_HANDLE hDataStream, BUFFER_HANDLE hBuffer, void **pBuffer, void **pPrivate);
1579  GC_API_P(PDSQueueBuffer)
1580  (DS_HANDLE hDataStream, BUFFER_HANDLE hBuffer);
1581  GC_API_P(PDSGetBufferInfo)
1582  (DS_HANDLE hDataStream, BUFFER_HANDLE hBuffer, BUFFER_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer,
1583  size_t *piSize);
1584 
1585  // start customize
1586  GC_API_P(PPDBufferGetInfo)
1587  (BUFFER_HANDLE hBuffer, BUFFER_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize);
1588  GC_API_P(PPDBufferGetMeta)
1589  (BUFFER_HANDLE hBuffer, uint32_t index, INFO_DATATYPE *piType, void *buffer, size_t *piSize);
1590  GC_API_P(PPDBufferGetMetaByName)
1591  (BUFFER_HANDLE hBuffer, const char *name, INFO_DATATYPE *piType, void *buffer, size_t *piSize);
1592  GC_API_P(PPDBufferGetMetaDesc)
1593  (BUFFER_HANDLE hBuffer, uint32_t index, const char **ppVarName, const char **ppDescName);
1594  GC_API_P(PPDBufferGetMetaNum)(BUFFER_HANDLE hBuffer, size_t *pMetaItemNum);
1595  GC_API_P(PPDBufferSave)(BUFFER_HANDLE hBuffer, const char *name, int opt);
1596  // end customize
1597 
1598  /* GenTL v1.1 */
1599  GC_API_P(PGCGetNumPortURLs)
1600  (PORT_HANDLE hPort, uint32_t *iNumURLs);
1601  GC_API_P(PGCGetPortURLInfo)
1602  (PORT_HANDLE hPort, uint32_t iURLIndex, URL_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer,
1603  size_t *piSize);
1604  GC_API_P(PGCReadPortStacked)
1605  (PORT_HANDLE hPort, PORT_REGISTER_STACK_ENTRY *pEntries, size_t *piNumEntries);
1606  GC_API_P(PGCWritePortStacked)
1607  (PORT_HANDLE hPort, PORT_REGISTER_STACK_ENTRY *pEntries, size_t *piNumEntries);
1608 
1609  /* GenTL v1.3 */
1610  GC_API_P(PDSGetBufferChunkData)
1611  (DS_HANDLE hDataStream, BUFFER_HANDLE hBuffer, SINGLE_CHUNK_DATA *pChunkData, size_t *piNumChunks);
1612 
1613  /* GenTL v1.4 */
1614  GC_API_P(PIFGetParentTL)
1615  (IF_HANDLE hIface, TL_HANDLE *phSystem);
1616  GC_API_P(PDevGetParentIF)
1617  (DEV_HANDLE hDevice, IF_HANDLE *phIface);
1618  GC_API_P(PDSGetParentDev)
1619  (DS_HANDLE hDataStream, DEV_HANDLE *phDevice);
1620 
1621  /* GenTL v1.5 */
1622  GC_API_P(PDSGetNumBufferParts)
1623  (DS_HANDLE hDataStream, BUFFER_HANDLE hBuffer, uint32_t *piNumParts);
1624  GC_API_P(PDSGetBufferPartInfo)
1625  (DS_HANDLE hDataStream, BUFFER_HANDLE hBuffer, uint32_t iPartIndex, BUFFER_PART_INFO_CMD iInfoCmd,
1626  INFO_DATATYPE *piType, void *pBuffer, size_t *piSize);
1627 
1628  /* GenTL v1.6 */
1629  GC_API_P(PDSAnnounceCompositeBuffer)
1630  (DS_HANDLE hDataStream, size_t iNumSegments, void **ppSegments, size_t *piSizes, void *pPrivate,
1631  BUFFER_HANDLE *phBuffer);
1632  GC_API_P(PDSGetBufferInfoStacked)
1633  (DS_HANDLE hDataStream, BUFFER_HANDLE hBuffer, DS_BUFFER_INFO_STACKED *pInfoStacked, size_t iNumInfos);
1634  GC_API_P(PDSGetBufferPartInfoStacked)
1635  (DS_HANDLE hDataStream, BUFFER_HANDLE hBuffer, DS_BUFFER_PART_INFO_STACKED *pInfoStacked, size_t iNumInfos);
1636  GC_API_P(PDSGetNumFlows)
1637  (DS_HANDLE hDataStream, uint32_t *piNumFlows);
1638  GC_API_P(PDSGetFlowInfo)
1639  (DS_HANDLE hDataStream, uint32_t iFlowIndex, FLOW_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer,
1640  size_t *piSize);
1641  GC_API_P(PDSGetNumBufferSegments)
1642  (DS_HANDLE hDataStream, BUFFER_HANDLE hBuffer, uint32_t *piNumSegments);
1643  GC_API_P(PDSGetBufferSegmentInfo)
1644  (DS_HANDLE hDataStream, BUFFER_HANDLE hBuffer, uint32_t iSegmentIndex, SEGMENT_INFO_CMD iInfoCmd,
1645  INFO_DATATYPE *piType, void *pBuffer, size_t *piSize);
1646 #ifdef __cplusplus
1647  } /* end of namespace GenTL */
1648 } /* end of extern "C" */
1649 #endif
1650 #endif /* GC_TLI_CLIENT_H_ */
GC_API PDBufferGetMeta(BUFFER_HANDLE hBuffer, uint32_t index, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize)
Get stream metadata information of the buffer.
GC_API DSAllocAndAnnounceBuffer(DS_HANDLE hDataStream, size_t iSize, void *pPrivate, BUFFER_HANDLE *phBuffer)
Notift the GenTL stream module to allocate buffer for grabing stream.
DEVICE_ACCESS_STATUS_LIST
Definition: GenTL.h:333
@ DEVICE_ACCESS_STATUS_READWRITE
Definition: GenTL.h:335
@ DEVICE_ACCESS_STATUS_UNKNOWN
Definition: GenTL.h:334
@ DEVICE_ACCESS_STATUS_OPEN_READONLY
Definition: GenTL.h:340
@ DEVICE_ACCESS_STATUS_BUSY
Definition: GenTL.h:338
@ DEVICE_ACCESS_STATUS_CUSTOM_ID
Definition: GenTL.h:342
@ DEVICE_ACCESS_STATUS_OPEN_READWRITE
Definition: GenTL.h:339
@ DEVICE_ACCESS_STATUS_READONLY
Definition: GenTL.h:336
@ DEVICE_ACCESS_STATUS_NOACCESS
Definition: GenTL.h:337
GC_API DevClose(DEV_HANDLE hDevice)
Close the device, all stream based on this device module should be inaccessible.
int32_t SEGMENT_INFO_CMD
Definition: GenTL.h:696
GC_API DSGetInfo(DS_HANDLE hDataStream, STREAM_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize)
Get some information of the stream.
INTERFACE_INFO_CMD_LIST
Definition: GenTL.h:305
@ INTERFACE_INFO_TLTYPE
Definition: GenTL.h:308
@ INTERFACE_INFO_DISPLAYNAME
Definition: GenTL.h:307
@ INTERFACE_INFO_CUSTOM_ID
Definition: GenTL.h:309
@ INTERFACE_INFO_ID
Definition: GenTL.h:306
TL_CHAR_ENCODING_LIST
Definition: GenTL.h:273
@ TL_CHAR_ENCODING_ASCII
Definition: GenTL.h:274
@ TL_CHAR_ENCODING_UTF8
Definition: GenTL.h:275
GC_API EventKill(EVENT_HANDLE hEvent)
Kill the event state polling process.
GC_API GCGetPortInfo(PORT_HANDLE hPort, PORT_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize)
Get the information of GenTL object.
URL_INFO_CMD_LIST
Definition: GenTL.h:612
@ URL_INFO_FILE_SIZE
Definition: GenTL.h:622
@ URL_INFO_URL
Definition: GenTL.h:613
@ URL_INFO_CUSTOM_ID
Definition: GenTL.h:626
@ URL_INFO_SCHEMA_VER_MAJOR
Definition: GenTL.h:614
@ URL_INFO_FILE_REGISTER_ADDRESS
Definition: GenTL.h:621
@ URL_INFO_SCHEMA_VER_MINOR
Definition: GenTL.h:615
@ URL_INFO_FILE_VER_MINOR
Definition: GenTL.h:617
@ URL_INFO_SCHEME
Definition: GenTL.h:623
@ URL_INFO_FILE_VER_SUBMINOR
Definition: GenTL.h:618
@ URL_INFO_FILENAME
Definition: GenTL.h:624
@ URL_INFO_FILE_VER_MAJOR
Definition: GenTL.h:616
@ URL_INFO_FILE_SHA1_HASH
Definition: GenTL.h:620
GC_API IFGetDeviceInfo(IF_HANDLE hIface, const char *sDeviceID, DEVICE_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize)
Get some information of the device module.
void * PORT_HANDLE
Definition: GenTL.h:231
GC_API IFGetNumDevices(IF_HANDLE hIface, uint32_t *piNumDevices)
Get number of device module.
DEVICE_INFO_CMD_LIST
Definition: GenTL.h:350
@ DEVICE_INFO_ID
Definition: GenTL.h:351
@ DEVICE_INFO_TLTYPE
Definition: GenTL.h:354
@ DEVICE_INFO_USER_DEFINED_NAME
Definition: GenTL.h:359
@ DEVICE_INFO_VERSION
Definition: GenTL.h:361
@ DEVICE_INFO_TIMESTAMP_FREQUENCY
Definition: GenTL.h:362
@ DEVICE_INFO_VENDOR
Definition: GenTL.h:352
@ DEVICE_INFO_SERIAL_NUMBER
Definition: GenTL.h:360
@ DEVICE_INFO_ACCESS_STATUS
Definition: GenTL.h:357
@ DEVICE_INFO_MODEL
Definition: GenTL.h:353
@ DEVICE_INFO_CUSTOM_ID
Definition: GenTL.h:364
@ DEVICE_INFO_DISPLAYNAME
Definition: GenTL.h:355
struct S_PORT_REGISTER_STACK_ENTRY PORT_REGISTER_STACK_ENTRY
GC_API DSGetBufferInfo(DS_HANDLE hDataStream, BUFFER_HANDLE hBuffer, BUFFER_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize)
Get some information of the buffer.
GC_API DSStartAcquisition(DS_HANDLE hDataStream, ACQ_START_FLAGS iStartFlags, uint64_t iNumToAcquire)
Start stream acquistion.
EVENT_TYPE_LIST
Definition: GenTL.h:632
@ EVENT_NEW_BUFFER
Definition: GenTL.h:634
@ EVENT_FEATURE_INVALIDATE
Definition: GenTL.h:635
@ EVENT_REMOTE_DEVICE
Definition: GenTL.h:639
@ EVENT_ERROR
Definition: GenTL.h:633
@ EVENT_CUSTOM_ID
Definition: GenTL.h:644
@ EVENT_FEATURE_CHANGE
Definition: GenTL.h:637
@ EVENT_MODULE
Definition: GenTL.h:641
BUFFER_INFO_CMD_LIST
Definition: GenTL.h:440
@ BUFFER_INFO_PIXELFORMAT
Definition: GenTL.h:466
@ BUFFER_INFO_CONTAINS_CHUNKDATA
Definition: GenTL.h:476
@ BUFFER_INFO_PIXELFORMAT_NAMESPACE
Definition: GenTL.h:467
@ BUFFER_INFO_TLTYPE
Definition: GenTL.h:453
@ BUFFER_INFO_TIMESTAMP_NS
Definition: GenTL.h:474
@ BUFFER_INFO_FILENAME
Definition: GenTL.h:471
@ BUFFER_INFO_IS_ACQUIRING
Definition: GenTL.h:449
@ BUFFER_INFO_CHUNKLAYOUTID
Definition: GenTL.h:470
@ BUFFER_INFO_IS_INCOMPLETE
Definition: GenTL.h:451
@ BUFFER_INFO_FRAMEID
Definition: GenTL.h:462
@ BUFFER_INFO_PAYLOADTYPE
Definition: GenTL.h:465
@ BUFFER_INFO_IS_COMPOSITE
Definition: GenTL.h:477
@ BUFFER_INFO_XOFFSET
Definition: GenTL.h:458
@ BUFFER_INFO_WIDTH
Definition: GenTL.h:456
@ BUFFER_INFO_HEIGHT
Definition: GenTL.h:457
@ BUFFER_INFO_SIZE_FILLED
Definition: GenTL.h:454
@ BUFFER_INFO_IMAGEPRESENT
Definition: GenTL.h:463
@ BUFFER_INFO_DATA_LARGER_THAN_BUFFER
Definition: GenTL.h:475
@ BUFFER_INFO_TIMESTAMP
Definition: GenTL.h:444
@ BUFFER_INFO_IMAGEOFFSET
Definition: GenTL.h:464
@ BUFFER_INFO_PIXEL_ENDIANNESS
Definition: GenTL.h:472
@ BUFFER_INFO_BASE
Definition: GenTL.h:441
@ BUFFER_INFO_DELIVERED_CHUNKPAYLOADSIZE
Definition: GenTL.h:469
@ BUFFER_INFO_CUSTOM_ID
Definition: GenTL.h:479
@ BUFFER_INFO_DELIVERED_IMAGEHEIGHT
Definition: GenTL.h:468
@ BUFFER_INFO_YOFFSET
Definition: GenTL.h:459
@ BUFFER_INFO_IS_QUEUED
Definition: GenTL.h:447
@ BUFFER_INFO_SIZE
Definition: GenTL.h:442
@ BUFFER_INFO_USER_PTR
Definition: GenTL.h:443
@ BUFFER_INFO_DATA_SIZE
Definition: GenTL.h:473
@ BUFFER_INFO_NEW_DATA
Definition: GenTL.h:445
@ BUFFER_INFO_YPADDING
Definition: GenTL.h:461
@ BUFFER_INFO_XPADDING
Definition: GenTL.h:460
GC_API GCGetPortURL(PORT_HANDLE hPort, char *sURL, size_t *piSize)
Get the url of description file which describe the GenTL object.
GC_API DevGetInfo(DEV_HANDLE hDevice, DEVICE_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize)
Get some information of the device.
GC_API TLOpenInterface(TL_HANDLE hTL, const char *sIfaceID, IF_HANDLE *phIface)
Open the interface module.
GC_API IFGetInfo(IF_HANDLE hIface, INTERFACE_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize)
Get some information of the Interface.
GC_API TLGetInterfaceID(TL_HANDLE hTL, uint32_t iIndex, char *sID, size_t *piSize)
Get interface module ID by index.
void * TL_HANDLE
Definition: GenTL.h:227
GC_API IFGetDeviceID(IF_HANDLE hIface, uint32_t iIndex, char *sIDeviceID, size_t *piSize)
get ID string of the device module
GC_API PDBufferGetMetaNum(BUFFER_HANDLE hBuffer, size_t *pMetaItemNum)
Get number of the metadata items.
GC_API DevGetDataStreamID(DEV_HANDLE hDevice, uint32_t iIndex, char *sDataStreamID, size_t *piSize)
Get stream module ID by index.
PARTDATATYPE_IDS
Definition: GenTL.h:557
@ PART_DATATYPE_JPEG2000
Definition: GenTL.h:569
@ PART_DATATYPE_2D_PLANE_QUADPLANAR
Definition: GenTL.h:562
@ PART_DATATYPE_3D_PLANE_TRIPLANAR
Definition: GenTL.h:565
@ PART_DATATYPE_CONFIDENCE_MAP
Definition: GenTL.h:567
@ PART_DATATYPE_2D_PLANE_BIPLANAR
Definition: GenTL.h:560
@ PART_DATATYPE_3D_PLANE_BIPLANAR
Definition: GenTL.h:564
@ PART_DATATYPE_UNKNOWN
Definition: GenTL.h:558
@ PART_DATATYPE_2D_PLANE_TRIPLANAR
Definition: GenTL.h:561
@ PART_DATATYPE_2D_IMAGE
Definition: GenTL.h:559
@ PART_DATATYPE_3D_IMAGE
Definition: GenTL.h:563
@ PART_DATATYPE_CUSTOM_ID
Definition: GenTL.h:571
@ PART_DATATYPE_JPEG
Definition: GenTL.h:568
@ PART_DATATYPE_3D_PLANE_QUADPLANAR
Definition: GenTL.h:566
GC_API DSStopAcquisition(DS_HANDLE hDataStream, ACQ_STOP_FLAGS iStopFlags)
Stop the stream acquisition.
struct S_DS_BUFFER_PART_INFO_STACKED DS_BUFFER_PART_INFO_STACKED
GC_API TLOpen(TL_HANDLE *phTL)
Open the GenTL system module.
GC_API IFGetParentTL(IF_HANDLE hIface, TL_HANDLE *phSystem)
Get the GenTL system module which current interface is based on.
PAYLOADTYPE_INFO_IDS
Definition: GenTL.h:515
@ PAYLOAD_TYPE_IMAGE
Definition: GenTL.h:517
@ PAYLOAD_TYPE_MULTI_PART
Definition: GenTL.h:526
@ PAYLOAD_TYPE_CHUNK_DATA
Definition: GenTL.h:520
@ PAYLOAD_TYPE_JPEG
Definition: GenTL.h:521
@ PAYLOAD_TYPE_H264
Definition: GenTL.h:523
@ PAYLOAD_TYPE_GENDC
Definition: GenTL.h:527
@ PAYLOAD_TYPE_UNKNOWN
Definition: GenTL.h:516
@ PAYLOAD_TYPE_CHUNK_ONLY
Definition: GenTL.h:524
@ PAYLOAD_TYPE_RAW_DATA
Definition: GenTL.h:518
@ PAYLOAD_TYPE_DEVICE_SPECIFIC
Definition: GenTL.h:525
@ PAYLOAD_TYPE_FILE
Definition: GenTL.h:519
@ PAYLOAD_TYPE_CUSTOM_ID
Definition: GenTL.h:529
@ PAYLOAD_TYPE_JPEG2000
Definition: GenTL.h:522
ACQ_START_FLAGS_LIST
Definition: GenTL.h:384
@ ACQ_START_FLAGS_CUSTOM_ID
Definition: GenTL.h:387
@ ACQ_START_FLAGS_DEFAULT
Definition: GenTL.h:385
STREAM_INFO_CMD_LIST
Definition: GenTL.h:412
@ STREAM_INFO_PAYLOAD_SIZE
Definition: GenTL.h:420
@ STREAM_INFO_BUF_ANNOUNCE_MIN
Definition: GenTL.h:427
@ STREAM_INFO_NUM_DELIVERED
Definition: GenTL.h:414
@ STREAM_INFO_IS_GRABBING
Definition: GenTL.h:421
@ STREAM_INFO_TLTYPE
Definition: GenTL.h:425
@ STREAM_INFO_NUM_UNDERRUN
Definition: GenTL.h:415
@ STREAM_INFO_ID
Definition: GenTL.h:413
@ STREAM_INFO_NUM_QUEUED
Definition: GenTL.h:417
@ STREAM_CAM_INT_PARA
Definition: GenTL.h:434
@ STREAM_INFO_NUM_AWAIT_DELIVERY
Definition: GenTL.h:418
@ STREAM_CAM_EXT_PARA
Definition: GenTL.h:435
@ STREAM_INFO_FLOW_TABLE
Definition: GenTL.h:430
@ STREAM_INFO_BUF_ALIGNMENT
Definition: GenTL.h:429
@ STREAM_INFO_GENDC_PREFETCH_DESCRIPTOR
Definition: GenTL.h:431
@ STREAM_INFO_CUSTOM_ID
Definition: GenTL.h:433
@ STREAM_INFO_NUM_CHUNKS_MAX
Definition: GenTL.h:426
@ STREAM_INFO_NUM_STARTED
Definition: GenTL.h:419
@ STREAM_INFO_NUM_ANNOUNCED
Definition: GenTL.h:416
@ STREAM_INFO_DEFINES_PAYLOADSIZE
Definition: GenTL.h:423
GC_API GCWritePortStacked(PORT_HANDLE hPort, PORT_REGISTER_STACK_ENTRY *pEntries, size_t *piNumEntries)
A set of GCWritePort operations.
struct S_EVENT_NEW_BUFFER EVENT_NEW_BUFFER_DATA
GC_API DevGetNumDataStreams(DEV_HANDLE hDevice, uint32_t *piNumDataStreams)
Get number of device module.
GC_API GCUnregisterEvent(EVENTSRC_HANDLE hEventSrc, EVENT_TYPE iEventID)
Disable event tigger func of a GenTL object, cooperate with the GCRegisterEvent function.
FLOW_INFO_CMD_LIST
Definition: GenTL.h:676
@ FLOW_INFO_SIZE
Definition: GenTL.h:677
@ FLOW_INFO_CUSTOM_ID
Definition: GenTL.h:678
GC_API DSFlushQueue(DS_HANDLE hDataStream, ACQ_QUEUE_TYPE iOperation)
Clear the buffer queue which wait to be filled stream (image) data.
struct S_DS_BUFFER_INFO_STACKED DS_BUFFER_INFO_STACKED
GC_API GCGetLastError(GC_ERROR *piErrorCode, char *sErrText, size_t *piSize)
Get the last errcode and error message.
GC_API GCCloseLib(void)
Close the dynamic lib, tear down the intern object.
GC_API GCInitLib(void)
Init the dynamic lib.
TL_INFO_CMD_LIST
Definition: GenTL.h:281
@ TL_INFO_CHAR_ENCODING
Definition: GenTL.h:291
@ TL_INFO_VERSION
Definition: GenTL.h:285
@ TL_INFO_PATHNAME
Definition: GenTL.h:288
@ TL_INFO_TLTYPE
Definition: GenTL.h:286
@ TL_INFO_COMMIT_ID
Definition: GenTL.h:297
@ TL_INFO_NAME
Definition: GenTL.h:287
@ TL_INFO_DISPLAYNAME
Definition: GenTL.h:289
@ TL_INFO_GENTL_VER_MINOR
Definition: GenTL.h:294
@ TL_INFO_VENDOR
Definition: GenTL.h:283
@ TL_INFO_COMPILE
Definition: GenTL.h:298
@ TL_INFO_MODEL
Definition: GenTL.h:284
@ TL_INFO_ID
Definition: GenTL.h:282
@ TL_INFO_GENTL_VER_MAJOR
Definition: GenTL.h:292
@ TL_INFO_CUSTOM_ID
Definition: GenTL.h:296
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)
Acquire specific information from the event data.
GC_API PDBufferGetInfo(BUFFER_HANDLE hBuffer, BUFFER_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize)
Get some information of the buffer (Simplified version compared with the standard GenTL version: DSGe...
PIXELFORMAT_NAMESPACE_IDS
Definition: GenTL.h:535
@ PIXELFORMAT_NAMESPACE_PFNC_16BIT
Definition: GenTL.h:539
@ PIXELFORMAT_NAMESPACE_IIDC
Definition: GenTL.h:538
@ PIXELFORMAT_NAMESPACE_UNKNOWN
Definition: GenTL.h:536
@ PIXELFORMAT_NAMESPACE_PFNC_32BIT
Definition: GenTL.h:540
@ PIXELFORMAT_NAMESPACE_CUSTOM_ID
Definition: GenTL.h:542
@ PIXELFORMAT_NAMESPACE_GEV
Definition: GenTL.h:537
GC_API GCWritePortByName(PORT_HANDLE hPort, const char *varName, INFO_DATATYPE *piType, const void *pBuffer, size_t *piSize)
Write the var of the GenTL object with var name.
GC_API GCReadPortByName(PORT_HANDLE hPort, const char *varName, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize)
Read the var of the GenTL object with var name.
GC_API TLGetInfo(TL_HANDLE hTL, TL_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize)
Get some infomation of the system module.
GC_API DSGetParentDev(DS_HANDLE hDataStream, DEV_HANDLE *phDevice)
Get the GenTL device module which current stream is based on.
DEVICE_ACCESS_FLAGS_LIST
Definition: GenTL.h:315
@ DEVICE_ACCESS_NONE
Definition: GenTL.h:318
@ DEVICE_ACCESS_CUSTOM_ID
Definition: GenTL.h:326
@ DEVICE_ACCESS_EXCLUSIVE
Definition: GenTL.h:323
@ DEVICE_ACCESS_READONLY
Definition: GenTL.h:320
@ DEVICE_ACCESS_UNKNOWN
Definition: GenTL.h:316
@ DEVICE_ACCESS_CONTROL
Definition: GenTL.h:321
GC_API DSGetNumBufferParts(DS_HANDLE hDataStream, BUFFER_HANDLE hBuffer, uint32_t *piNumParts)
Get the number of parts of the buffer.
INFO_DATATYPE_LIST
Definition: GenTL.h:248
@ INFO_DATATYPE_BUFFER
Definition: GenTL.h:263
@ INFO_DATATYPE_UNKNOWN
Definition: GenTL.h:249
@ INFO_DATATYPE_UINT16
Definition: GenTL.h:254
@ INFO_DATATYPE_FLOAT64
Definition: GenTL.h:259
@ INFO_DATATYPE_CUSTOM_ID
Definition: GenTL.h:266
@ INFO_DATATYPE_STRING
Definition: GenTL.h:250
@ INFO_DATATYPE_SIZET
Definition: GenTL.h:262
@ INFO_DATATYPE_STRINGLIST
Definition: GenTL.h:251
@ INFO_DATATYPE_UINT64
Definition: GenTL.h:258
@ INFO_DATATYPE_INT64
Definition: GenTL.h:257
@ INFO_DATATYPE_INT32
Definition: GenTL.h:255
@ INFO_DATATYPE_PTRDIFF
Definition: GenTL.h:264
@ INFO_DATATYPE_PTR
Definition: GenTL.h:260
@ INFO_DATATYPE_UINT32
Definition: GenTL.h:256
@ INFO_DATATYPE_BOOL8
Definition: GenTL.h:261
@ INFO_DATATYPE_INT16
Definition: GenTL.h:253
void * DEV_HANDLE
Definition: GenTL.h:229
void * IF_HANDLE
Definition: GenTL.h:228
GC_API EventGetData(EVENT_HANDLE hEvent, void *pBuffer, size_t *piSize, uint64_t iTimeout)
Get a triggered event and then save data.
GC_API GCReadPortStacked(PORT_HANDLE hPort, PORT_REGISTER_STACK_ENTRY *pEntries, size_t *piNumEntries)
A set of GCReadPort operations.
GC_API DSAnnounceBuffer(DS_HANDLE hDataStream, void *pBuffer, size_t iSize, void *pPrivate, BUFFER_HANDLE *phBuffer)
Notify the GenTL stream module to use the allocated buffer for grabing stream.
URL_SCHEME_IDS
Definition: GenTL.h:600
@ URL_SCHEME_LOCAL
Definition: GenTL.h:601
@ URL_SCHEME_CUSTOM_ID
Definition: GenTL.h:605
@ URL_SCHEME_HTTP
Definition: GenTL.h:602
@ URL_SCHEME_FILE
Definition: GenTL.h:603
GC_API GCGetInfo(TL_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize)
Get an infomation of the GenTL system object.
GC_API IFOpenDevice(IF_HANDLE hIface, const char *sDeviceID, DEVICE_ACCESS_FLAGS iOpenFlag, DEV_HANDLE *phDevice)
Open the device module.
GC_API TLClose(TL_HANDLE hTL)
Close the GenTL system module, which may invalid all interface handle.
SEGMENT_INFO_CMD_LIST
Definition: GenTL.h:685
@ SEGMENT_INFO_CUSTOM_ID
Definition: GenTL.h:694
@ SEGMENT_INFO_DATA_SIZE
Definition: GenTL.h:692
@ SEGMENT_INFO_IS_INCOMPLETE
Definition: GenTL.h:688
@ SEGMENT_INFO_SIZE
Definition: GenTL.h:687
@ SEGMENT_INFO_BASE
Definition: GenTL.h:686
@ SEGMENT_INFO_SIZE_FILLED
Definition: GenTL.h:690
GC_API DevOpenDataStream(DEV_HANDLE hDevice, const char *sDataStreamID, DS_HANDLE *phDataStream)
Open the stream module.
GC_API GCGetNumPortURLs(PORT_HANDLE hPort, uint32_t *piNumURLs)
Get the number of usrls the GenTL object belongs to.
GC_API TLGetInterfaceInfo(TL_HANDLE hTL, const char *sIfaceID, INTERFACE_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize)
Get some information of the interface module.
GC_API PDBufferGetMetaDesc(BUFFER_HANDLE hBuffer, uint32_t index, const char **ppVarName, const char **ppDescName)
Get name and the describe information of the metadata item.
GC_API DSQueueBuffer(DS_HANDLE hDataStream, BUFFER_HANDLE hBuffer)
Let the stream-attached buffer ready for grabing stream data.
GC_API GCRegisterEvent(EVENTSRC_HANDLE hEventSrc, EVENT_TYPE iEventID, EVENT_HANDLE *phEvent)
Enable event tigger func of a GenTL object.
GC_API DevGetPort(DEV_HANDLE hDevice, PORT_HANDLE *phRemoteDevice)
Get the remote device write/read node.
GC_API DSClose(DS_HANDLE hDataStream)
Close the stream.
PORT_INFO_CMD_LIST
Definition: GenTL.h:578
@ PORT_INFO_CUSTOM_ID
Definition: GenTL.h:593
@ PORT_INFO_MODEL
Definition: GenTL.h:581
@ PORT_INFO_VERSION
Definition: GenTL.h:590
@ PORT_INFO_ACCESS_NA
Definition: GenTL.h:588
@ PORT_INFO_ID
Definition: GenTL.h:579
@ PORT_INFO_BIG_ENDIAN
Definition: GenTL.h:585
@ PORT_INFO_PORTNAME
Definition: GenTL.h:591
@ PORT_INFO_MODULE
Definition: GenTL.h:583
@ PORT_INFO_ACCESS_WRITE
Definition: GenTL.h:587
@ PORT_INFO_VENDOR
Definition: GenTL.h:580
@ PORT_INFO_ACCESS_NI
Definition: GenTL.h:589
@ PORT_INFO_LITTLE_ENDIAN
Definition: GenTL.h:584
@ PORT_INFO_TLTYPE
Definition: GenTL.h:582
@ PORT_INFO_ACCESS_READ
Definition: GenTL.h:586
ACQ_STOP_FLAGS_LIST
Definition: GenTL.h:371
@ ACQ_STOP_FLAGS_CUSTOM_ID
Definition: GenTL.h:377
@ ACQ_STOP_FLAGS_KILL
Definition: GenTL.h:374
@ ACQ_STOP_FLAGS_DEFAULT
Definition: GenTL.h:372
GC_API GCGetPortURLInfo(PORT_HANDLE hPort, uint32_t iURLIndex, URL_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize)
Get some informations of the selected url the GenTL object belongs to.
EVENT_INFO_CMD_LIST
Definition: GenTL.h:650
@ EVENT_NUM_FIRED
Definition: GenTL.h:653
@ EVENT_EVENT_TYPE
Definition: GenTL.h:651
@ EVENT_NUM_IN_QUEUE
Definition: GenTL.h:652
@ EVENT_SIZE_MAX
Definition: GenTL.h:654
@ EVENT_INFO_DATA_SIZE_MAX
Definition: GenTL.h:655
@ EVENT_INFO_CUSTOM_ID
Definition: GenTL.h:658
struct S_SINGLE_CHUNK_DATA SINGLE_CHUNK_DATA
BUFFER_PART_INFO_CMD_LIST
Definition: GenTL.h:486
@ BUFFER_PART_INFO_SOURCE_ID
Definition: GenTL.h:501
@ BUFFER_PART_INFO_DATA_PURPOSE_ID
Definition: GenTL.h:507
@ BUFFER_PART_INFO_YOFFSET
Definition: GenTL.h:499
@ BUFFER_PART_INFO_HEIGHT
Definition: GenTL.h:497
@ BUFFER_PART_INFO_DATA_TYPE
Definition: GenTL.h:489
@ BUFFER_PART_INFO_XOFFSET
Definition: GenTL.h:498
@ BUFFER_PART_INFO_DATA_SIZE
Definition: GenTL.h:488
@ BUFFER_PART_INFO_WIDTH
Definition: GenTL.h:496
@ BUFFER_PART_INFO_DELIVERED_IMAGEHEIGHT
Definition: GenTL.h:503
@ BUFFER_PART_INFO_XPADDING
Definition: GenTL.h:500
@ BUFFER_PART_INFO_DATA_FORMAT
Definition: GenTL.h:491
@ BUFFER_PART_INFO_CUSTOM_ID
Definition: GenTL.h:509
@ BUFFER_PART_INFO_REGION_ID
Definition: GenTL.h:505
@ BUFFER_PART_INFO_BASE
Definition: GenTL.h:487
@ BUFFER_PART_INFO_DATA_FORMAT_NAMESPACE
Definition: GenTL.h:493
GC_API DSRevokeBuffer(DS_HANDLE hDataStream, BUFFER_HANDLE hBuffer, void **pBuffer, void **pPrivate)
revoke the buffer attach to the GenTL stream module
GC_API DSGetBufferID(DS_HANDLE hDataStream, uint32_t iIndex, BUFFER_HANDLE *phBuffer)
Get buffer handle by Index.
GC_API PDBufferGetMetaByName(BUFFER_HANDLE hBuffer, const char *varName, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize)
Get stream metadata information of the buffer.
GC_API PDBufferSave(BUFFER_HANDLE hBuffer, const char *filesName, int opt)
Write the buffer to disk.
ACQ_QUEUE_TYPE_LIST
Definition: GenTL.h:394
@ ACQ_QUEUE_OUTPUT_DISCARD
Definition: GenTL.h:397
@ ACQ_QUEUE_ALL_TO_INPUT
Definition: GenTL.h:399
@ ACQ_QUEUE_UNQUEUED_TO_INPUT
Definition: GenTL.h:401
@ ACQ_QUEUE_INPUT_TO_OUTPUT
Definition: GenTL.h:395
@ ACQ_QUEUE_CUSTOM_ID
Definition: GenTL.h:405
@ ACQ_QUEUE_ALL_DISCARD
Definition: GenTL.h:403
void * DS_HANDLE
Definition: GenTL.h:230
GC_API EventFlush(EVENT_HANDLE hEvent)
Clear the event triggered stete if triggered.
GC_API DevGetParentIF(DEV_HANDLE hDevice, IF_HANDLE *phIface)
Get the GenTL interface module which current device is based on.
GC_API TLUpdateInterfaceList(TL_HANDLE hTL, bool8_t *pbChanged, uint64_t iTimeout)
re-Enumerate the Interface module
GC_API EventGetInfo(EVENT_HANDLE hEvent, EVENT_INFO_CMD iInfoCmd, INFO_DATATYPE *piType, void *pBuffer, size_t *piSize)
Get the infomation from the event handle.
GC_API GCWritePort(PORT_HANDLE hPort, uint64_t iAddress, const void *pBuffer, size_t *piSize)
Write the register of the GenTL object. Notice that address of one GenTL object is independent coded.
GC_ERROR_LIST
Definition: GenTL.h:159
@ GC_ERR_BUFFER_TOO_SMALL
Definition: GenTL.h:176
@ GC_ERR_NO_DATA
Definition: GenTL.h:168
@ GC_ERR_IO
Definition: GenTL.h:170
@ GC_ERR_PARSING_CHUNK_DATA
Definition: GenTL.h:178
@ GC_ERR_INVALID_BUFFER
Definition: GenTL.h:173
@ GC_ERR_INVALID_INDEX
Definition: GenTL.h:177
@ GC_ERR_ERROR
Definition: GenTL.h:161
@ GC_ERR_NOT_INITIALIZED
Definition: GenTL.h:162
@ GC_ERR_AMBIGUOUS
Definition: GenTL.h:183
@ GC_ERR_ABORT
Definition: GenTL.h:172
@ GC_ERR_INVALID_PARAMETER
Definition: GenTL.h:169
@ GC_ERR_OUT_OF_MEMORY
Definition: GenTL.h:181
@ GC_ERR_INVALID_ID
Definition: GenTL.h:167
@ GC_ERR_NOT_AVAILABLE
Definition: GenTL.h:174
@ GC_ERR_ACCESS_DENIED
Definition: GenTL.h:165
@ GC_ERR_SUCCESS
Definition: GenTL.h:160
@ GC_ERR_NOT_IMPLEMENTED
Definition: GenTL.h:163
@ GC_ERR_RESOURCE_EXHAUSTED
Definition: GenTL.h:180
@ GC_ERR_BUSY
Definition: GenTL.h:182
@ GC_ERR_INVALID_HANDLE
Definition: GenTL.h:166
@ GC_ERR_INVALID_VALUE
Definition: GenTL.h:179
@ GC_ERR_INVALID_ADDRESS
Definition: GenTL.h:175
@ GC_ERR_TIMEOUT
Definition: GenTL.h:171
@ GC_ERR_RESOURCE_IN_USE
Definition: GenTL.h:164
PIXELENDIANNESS_IDS
Definition: GenTL.h:548
@ PIXELENDIANNESS_BIG
Definition: GenTL.h:551
@ PIXELENDIANNESS_LITTLE
Definition: GenTL.h:550
@ PIXELENDIANNESS_UNKNOWN
Definition: GenTL.h:549
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)
Get some information of the specific part of the buffer.
GC_API IFClose(IF_HANDLE hIface)
Close the interface, all device based on this interface module should be inaccessible.
EVENT_DATA_INFO_CMD_LIST
Definition: GenTL.h:664
@ EVENT_DATA_CUSTOM_ID
Definition: GenTL.h:669
@ EVENT_DATA_ID
Definition: GenTL.h:665
@ EVENT_DATA_VALUE
Definition: GenTL.h:666
@ EVENT_DATA_NUMID
Definition: GenTL.h:667
GC_API GCReadPort(PORT_HANDLE hPort, uint64_t iAddress, void *pBuffer, size_t *piSize)
Read the register of the GenTL object. Notice that address of one GenTL object is independent coded.
GC_API IFUpdateDeviceList(IF_HANDLE hIface, bool8_t *pbChanged, uint64_t iTimeout)
re-Enumerate the device module
GC_API TLGetNumInterfaces(TL_HANDLE hTL, uint32_t *piNumIfaces)
Get number of interface module.
Definition: GenTL.h:730
size_t iSize
Definition: GenTL.h:734
INFO_DATATYPE iType
Definition: GenTL.h:732
GC_ERROR iResult
Definition: GenTL.h:735
BUFFER_INFO_CMD iInfoCmd
Definition: GenTL.h:731
void * pBuffer
Definition: GenTL.h:733
Definition: GenTL.h:742
size_t iSize
Definition: GenTL.h:748
BUFFER_PART_INFO_CMD iInfoCmd
Definition: GenTL.h:744
uint32_t iPartIndex
Definition: GenTL.h:743
INFO_DATATYPE iType
Definition: GenTL.h:746
GC_ERROR iResult
Definition: GenTL.h:745
void * pBuffer
Definition: GenTL.h:747
Definition: GenTL.h:701
BUFFER_HANDLE BufferHandle
Definition: GenTL.h:702
void * pUserPointer
Definition: GenTL.h:703
Definition: GenTL.h:710
void * pBuffer
Definition: GenTL.h:712
uint64_t Address
Definition: GenTL.h:711
size_t Size
Definition: GenTL.h:713
Definition: GenTL.h:720
ptrdiff_t ChunkOffset
Definition: GenTL.h:722
uint64_t ChunkID
Definition: GenTL.h:721
size_t ChunkLength
Definition: GenTL.h:723