SISCI API
Documentation
sisci_api.h
Go to the documentation of this file.
1 /* $Id$ */
2 /*******************************************************************************
3  * *
4  * Copyright (C) 1993 - 2020 *
5  * Dolphin Interconnect Solutions AS *
6  * *
7  * This program is free software; you can redistribute it and/or modify *
8  * it under the terms of the GNU Lesser General Public License as published by *
9  * the Free Software Foundation; either version 2.1 of the License, *
10  * or (at your option) any later version. *
11  * *
12  * This program is distributed in the hope that it will be useful, *
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
15  * GNU General Public License for more details. *
16  * *
17  * You should have received a copy of the GNU Lesser General Public License *
18  * along with this program; if not, write to the Free Software *
19  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
20  * *
21  * *
22  *******************************************************************************/
23 
24 
52 #ifndef _SISCI_API_H
53 #define _SISCI_API_H
54 
55 #include <stddef.h> /* For size_t */
56 #include "sisci_types.h"
57 #include "sisci_error.h"
58 
59 
60 #ifdef _WIN32
61 #ifndef SISCI_API_EXPORT
62 #define SISCI_API_EXPORT __declspec(dllimport)
63 #endif
64 #ifndef _REENTRANT
65 #define _REENTRANT
66 #endif
67 #else
68 #define SISCI_API_EXPORT
69 #endif
70 
71 #ifdef _REENTRANT
72 #define _SISCI_EXPANDE_FUNCTION_NAME(name) _SISCI_PUBLIC_FUNC_MT_ ## name
73 #define _SISCI_EXPANDE_VARIABLE_NAME(name) _SISCI_PUBLIC_VAR_MT_ ## name
74 #else
75 #define _SISCI_EXPANDE_FUNCTION_NAME(name) _SISCI_PUBLIC_FUNC_ST_ ## name
76 #define _SISCI_EXPANDE_VARIABLE_NAME(name) _SISCI_PUBLIC_VAR_ST_ ## name
77 #endif
78 #define _SISCI_EXPANDE_CONSTANT_NAME(name) _SISCI_PUBLIC_CONST_ ## name
79 
80 #if defined(CPLUSPLUS) || defined(__cplusplus)
81 extern "C" {
82 #endif
83 
84 
85 /*********************************************************************************/
86 /* FLAG VALUES */
87 /*********************************************************************************/
88 
89 #define SCI_FLAG_FIXED_INTNO _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_FIXED_INTNO)
90 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_FIXED_INTNO;
91 
92 #define SCI_FLAG_SHARED_INT _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_SHARED_INT)
93 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_SHARED_INT;
94 
95 #define SCI_FLAG_COUNTING_INT _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_COUNTING_INT)
96 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_COUNTING_INT;
97 
98 #define SCI_FLAG_FIXED_MAP_ADDR _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_FIXED_MAP_ADDR)
99 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_FIXED_MAP_ADDR;
100 
101 #define SCI_FLAG_READONLY_MAP _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_READONLY_MAP)
102 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_READONLY_MAP;
103 
104 #define SCI_FLAG_BROADCAST _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_BROADCAST)
105 
108 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_BROADCAST;
109 
110 #define SCI_FLAG_USE_CALLBACK _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_USE_CALLBACK)
111 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_USE_CALLBACK;
112 
113 #define SCI_FLAG_BLOCK_READ _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_BLOCK_READ)
114 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_BLOCK_READ;
115 
116 #define SCI_FLAG_BLOCK_PAD_UP _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_BLOCK_PAD_UP)
117 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_BLOCK_PAD_UP;
118 
119 #define SCI_FLAG_ASYNCHRONOUS_CONNECT _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_ASYNCHRONOUS_CONNECT)
120 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_ASYNCHRONOUS_CONNECT;
121 
122 #define SCI_FLAG_EMPTY _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_EMPTY)
123 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_EMPTY;
124 
125 #define SCI_FLAG_PRIVATE _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_PRIVATE)
126 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_PRIVATE;
127 
128 #define SCI_FLAG_FORCE_DISCONNECT _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_FORCE_DISCONNECT)
129 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_FORCE_DISCONNECT;
130 
131 #define SCI_FLAG_NOTIFY _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_NOTIFY)
132 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_NOTIFY;
133 
134 #define SCI_FLAG_DMA_READ _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_DMA_READ)
135 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_DMA_READ;
136 
137 #define SCI_FLAG_DMA_WAIT _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_DMA_WAIT)
138 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_DMA_WAIT;
139 
140 #define SCI_FLAG_DMA_USER_MEM _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_DMA_USER_MEM)
141 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_DMA_USER_MEM;
142 
143 #define SCI_FLAG_LOCK_USER_MEM _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_LOCK_USER_MEM)
144 
147 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_LOCK_USER_MEM;
148 
149 #define SCI_FLAG_NO_FLUSH _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_NO_FLUSH)
150 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_NO_FLUSH;
151 
152 #define SCI_FLAG_NO_STORE_BARRIER _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_NO_STORE_BARRIER)
153 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_NO_STORE_BARRIER;
154 
155 #define SCI_FLAG_ERROR_CHECK _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_ERROR_CHECK)
156 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_ERROR_CHECK;
157 
158 #define SCI_FLAG_FLUSH_CPU_BUFFERS_ONLY _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_FLUSH_CPU_BUFFERS_ONLY)
159 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_FLUSH_CPU_BUFFERS_ONLY;
160 
161 /* the FLUSH_CPU_BUFFERS_ONLY flag is for backwards compatibility only and should never be used */
162 #define FLUSH_CPU_BUFFERS_ONLY _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_FLUSH_CPU_BUFFERS_ONLY)
163 
164 #define SCI_FLAG_LOCK_OPERATION _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_LOCK_OPERATION)
165 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_LOCK_OPERATION;
166 
167 #define SCI_FLAG_IO_MAP_IOSPACE _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_IO_MAP_IOSPACE)
168 
172 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_IO_MAP_IOSPACE;
173 
174 #define SCI_FLAG_SHARED_MAP _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_SHARED_MAP)
175 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_SHARED_MAP;
176 
177 #define SCI_FLAG_DMA_SOURCE_ONLY _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_DMA_SOURCE_ONLY)
178 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_DMA_SOURCE_ONLY;
179 
181 #define SCI_FLAG_DMA_GLOBAL _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_DMA_GLOBAL)
182 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_DMA_GLOBAL;
183 
184 #define SCI_FLAG_ALLOW_UNICAST _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_ALLOW_UNICAST)
185 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_ALLOW_UNICAST;
186 
188 #define SCI_FLAG_DMA_SYSDMA _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_DMA_SYSDMA)
189 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_DMA_SYSDMA;
190 
192 #define SCI_FLAG_DMA_ADAPTER _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_DMA_ADAPTER)
193 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_DMA_ADAPTER;
194 
195 #define SCI_FLAG_DMA_CHANNEL_SHARED _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_DMA_CHANNEL_SHARED)
196 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_DMA_CHANNEL_SHARED;
197 
198 #define SCI_FLAG_CONDITIONAL_INTERRUPT _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_CONDITIONAL_INTERRUPT)
199 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_CONDITIONAL_INTERRUPT;
200 
201 #define SCI_FLAG_CONDITIONAL_INTERRUPT_MAP _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_CONDITIONAL_INTERRUPT_MAP)
202 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_CONDITIONAL_INTERRUPT_MAP;
203 
204 #define SCI_FLAG_UNCONDITIONAL_DATA_INTERRUPT_MAP _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_UNCONDITIONAL_DATA_INTERRUPT_MAP)
205 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_UNCONDITIONAL_DATA_INTERRUPT_MAP;
206 
207 #define SCI_FLAG_NO_MEMORY_LOOPBACK_MAP _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_NO_MEMORY_LOOPBACK_MAP)
208 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_NO_MEMORY_LOOPBACK_MAP;
209 
210 #if (defined(CPU_ARCH_IS_PPC32) && (defined(OS_IS_VXWORKS) || defined(OS_IS_LINUX) ))
211 #define SCI_FLAG_WRITE_BACK_CACHE_MAP _SISCI_EXPANDE_CONSTANT_NAME(WRITE_BACK_CACHE_MAP)
212 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_WRITE_BACK_CACHE_MAP;
213 #endif
214 
215 #define SCI_FLAG_FORCE_REMOVE _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_FORCE_REMOVE)
216 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_FORCE_REMOVE;
217 
218 #define SCI_FLAG_DMA_PHDMA _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_DMA_PHDMA)
219 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_DMA_PHDMA;
220 
221 #define SCI_FLAG_SHARE_EXTERNAL _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_SHARE_EXTERNAL)
222 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_SHARE_EXTERNAL;
223 
224 #define SCI_FLAG_PCIE_REQUESTER_GLOBAL _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_PCIE_REQUESTER_GLOBAL)
225 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_PCIE_REQUESTER_GLOBAL;
226 
227 #define SCI_FLAG_CUDA_BUFFER _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_CUDA_BUFFER)
228 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_CUDA_BUFFER;
229 
230 #define SCI_FLAG_SCIF_BUFFER _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_SCIF_BUFFER)
231 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_SCIF_BUFFER;
232 
233 #define SCI_FLAG_CACHE_FLUSH _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_CACHE_FLUSH)
234 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_CACHE_FLUSH;
235 
236 #define SCI_FLAG_CACHE_INVALIDATE _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_CACHE_INVALIDATE)
237 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_CACHE_INVALIDATE;
238 
239 #define SCI_FLAG_EXCLUSIVE _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_EXCLUSIVE)
240 
243 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_EXCLUSIVE;
244 
245 #define SCI_FLAG_DEVICE_SIDE_ONLY _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_DEVICE_SIDE_ONLY)
246 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_DEVICE_SIDE_ONLY;
247 
248 #define SCI_FLAG_LOCAL_ONLY _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_LOCAL_ONLY)
249 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_LOCAL_ONLY;
250 
251 #define SCI_FLAG_DEVICE_PREFER_BANDWIDTH _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_DEVICE_PREFER_BANDWIDTH)
252 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_DEVICE_PREFER_BANDWIDTH;
253 
254 #define SCI_FLAG_HOST_PREFER_BANDWIDTH _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_HOST_PREFER_BANDWIDTH)
255 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_HOST_PREFER_BANDWIDTH;
256 
257 #define SCI_FLAG_SPECIFY_PATH _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_SPECIFY_PATH)
258 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_SPECIFY_PATH;
259 
260 #define SCI_FLAG_SPECIFY_SLOT _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_SPECIFY_SLOT)
261 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_SPECIFY_SLOT;
262 
263 #define SCI_FLAG_AUTO_ID _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_AUTO_ID)
264 SISCI_API_EXPORT extern const unsigned int SCI_FLAG_AUTO_ID;
265 
266 #define SCI_MEMTYPE_BAR _SISCI_EXPANDE_CONSTANT_NAME(SCI_MEMTYPE_BAR)
267 SISCI_API_EXPORT extern const unsigned int SCI_MEMTYPE_BAR;
268 
269 #define SCI_MEMTYPE_PRIVATE _SISCI_EXPANDE_CONSTANT_NAME(SCI_MEMTYPE_PRIVATE)
270 SISCI_API_EXPORT extern const unsigned int SCI_MEMTYPE_PRIVATE;
271 
272 #define SCI_MEMTYPE_SHARED _SISCI_EXPANDE_CONSTANT_NAME(SCI_MEMTYPE_SHARED)
273 SISCI_API_EXPORT extern const unsigned int SCI_MEMTYPE_SHARED;
274 
275 #define SCI_MEMACCESS_DEVICE_READ _SISCI_EXPANDE_CONSTANT_NAME(SCI_MEMACCESS_DEVICE_READ)
276 SISCI_API_EXPORT extern const unsigned int SCI_MEMACCESS_DEVICE_READ;
277 
278 #define SCI_MEMACCESS_DEVICE_WRITE _SISCI_EXPANDE_CONSTANT_NAME(SCI_MEMACCESS_DEVICE_WRITE)
279 SISCI_API_EXPORT extern const unsigned int SCI_MEMACCESS_DEVICE_WRITE;
280 
281 #define SCI_MEMACCESS_HOST_READ _SISCI_EXPANDE_CONSTANT_NAME(SCI_MEMACCESS_HOST_READ)
282 SISCI_API_EXPORT extern const unsigned int SCI_MEMACCESS_HOST_READ;
283 
284 #define SCI_MEMACCESS_HOST_WRITE _SISCI_EXPANDE_CONSTANT_NAME(SCI_MEMACCESS_HOST_WRITE)
285 SISCI_API_EXPORT extern const unsigned int SCI_MEMACCESS_HOST_WRITE;
286 
287 #define SCI_MEMACCESS_MULTIHOST_READ _SISCI_EXPANDE_CONSTANT_NAME(SCI_MEMACCESS_MULTIHOST_READ)
288 SISCI_API_EXPORT extern const unsigned int SCI_MEMACCESS_MULTIHOST_READ;
289 
290 #define SCI_MEMACCESS_MULTIHOST_WRITE _SISCI_EXPANDE_CONSTANT_NAME(SCI_MEMACCESS_MULTIHOST_WRITE)
291 SISCI_API_EXPORT extern const unsigned int SCI_MEMACCESS_MULTIHOST_WRITE;
292 
293 #define SCI_MEMACCESS_P2P_READ _SISCI_EXPANDE_CONSTANT_NAME(SCI_MEMACCESS_P2P_READ)
294 SISCI_API_EXPORT extern const unsigned int SCI_MEMACCESS_P2P_READ;
295 
296 #define SCI_MEMACCESS_P2P_WRITE _SISCI_EXPANDE_CONSTANT_NAME(SCI_MEMACCESS_P2P_WRITE)
297 SISCI_API_EXPORT extern const unsigned int SCI_MEMACCESS_P2P_WRITE;
298 
299 
300 /*********************************************************************************/
301 /* GENERAL VALUES */
302 /*********************************************************************************/
303 #define SCI_LOCAL_HOST _SISCI_EXPANDE_CONSTANT_NAME(SCI_LOCAL_HOST)
304 
307 SISCI_API_EXPORT extern const unsigned int SCI_LOCAL_HOST;
308 
309 #define SCI_INFINITE_TIMEOUT _SISCI_EXPANDE_CONSTANT_NAME(SCI_INFINITE_TIMEOUT)
310 SISCI_API_EXPORT extern const unsigned int SCI_INFINITE_TIMEOUT;
311 
312 #define DIS_BROADCAST_NODEID_GROUP_ALL _SISCI_EXPANDE_CONSTANT_NAME(DIS_BROADCAST_NODEID_GROUP_ALL)
313 
316 SISCI_API_EXPORT extern const unsigned int DIS_BROADCAST_NODEID_GROUP_ALL;
317 
318 
319 /* Request DMA channel flags */
320 #define SCI_DMA_CHANNEL_ID_DONTCARE _SISCI_EXPANDE_CONSTANT_NAME(SCI_DMA_CHANNEL_ID_DONTCARE)
321 SISCI_API_EXPORT extern const unsigned int SCI_DMA_CHANNEL_ID_DONTCARE;
322 
323 
324 
325 /*********************************************************************************/
326 /* GENERAL ERROR CODES */
327 /* */
328 /* SCI_ERR_ILLEGAL_FLAG - Illegal flag value. */
329 /* SCI_ERR_FLAG_NOT_IMPLEMENTED - Flag legal but flag feature not implemented. */
330 /* SCI_ERR_NOT_IMPLEMENTED - Function not implemented. */
331 /* SCI_ERR_SYSTEM - A system error. Check errno. */
332 /* SCI_ERR_NOSPC - Unable to allocate OS resources. */
333 /* SCI_ERR_API_NOSPC - Unable to allocate API resources. */
334 /* SCI_ERR_HW_NOSPC - Unable to allocate HW resources (Hardware) */
335 /* */
336 /*********************************************************************************/
337 
338 
339 /*********************************************************************************/
340 /* GENERAL "ADAPTER" ERROR CODES */
341 /* */
342 /* SCI_ERR_NO_SUCH_ADAPTERNO - Adapter number is legal but does not exist. */
343 /* SCI_ERR_ILLEGAL_ADAPTERNO - Illegal local adapter number (i.e. outside */
344 /* legal range). */
345 /* */
346 /*********************************************************************************/
347 
348 
349 /*********************************************************************************/
350 /* GENERAL "NODEID" ERROR CODES */
351 /* */
352 /* SCI_ERR_NO_SUCH_NODEID - The remote adapter identified by nodeId does */
353 /* not respond, but the intermediate link(s) */
354 /* seem(s) to be operational. */
355 /* SCI_ERR_ILLEGAL_NODEID - Illegal NodeId. */
356 /* */
357 /*********************************************************************************/
358 
359 
360 #define SCIInitialize _SISCI_EXPANDE_FUNCTION_NAME(SCIInitialize)
361 
377 SISCI_API_EXPORT void SCIInitialize(unsigned int flags,
378  sci_error_t *error);
379 
380 
381 #if 0
382 unsigned int __Internal_SISCI_version_var;
383 #endif
384 
385 #define SCITerminate _SISCI_EXPANDE_FUNCTION_NAME(SCITerminate)
386 
400 SISCI_API_EXPORT void SCITerminate(void);
401 
402 
403 
404 #define SCIOpen _SISCI_EXPANDE_FUNCTION_NAME(SCIOpen)
405 
432 SISCI_API_EXPORT void SCIOpen(sci_desc_t *sd,
433  unsigned int flags,
434  sci_error_t *error);
435 
436 
437 #define SCIClose _SISCI_EXPANDE_FUNCTION_NAME(SCIClose)
438 
460 SISCI_API_EXPORT void SCIClose(sci_desc_t sd,
461  unsigned int flags,
462  sci_error_t *error);
463 
464 
465 #define SCIConnectSegment _SISCI_EXPANDE_FUNCTION_NAME(SCIConnectSegment)
466 
554 SISCI_API_EXPORT void SCIConnectSegment(sci_desc_t sd,
555  sci_remote_segment_t *segment,
556  unsigned int nodeId,
557  unsigned int segmentId,
558  unsigned int localAdapterNo,
559  sci_cb_remote_segment_t callback,
560  void *callbackArg,
561  unsigned int timeout,
562  unsigned int flags,
563  sci_error_t *error);
564 
565 
566 #define SCIDisconnectSegment _SISCI_EXPANDE_FUNCTION_NAME(SCIDisconnectSegment)
567 
593 SISCI_API_EXPORT void SCIDisconnectSegment(sci_remote_segment_t segment,
594  unsigned int flags,
595  sci_error_t *error);
596 
597 
598 #define SCIGetRemoteSegmentSize _SISCI_EXPANDE_FUNCTION_NAME(SCIGetRemoteSegmentSize)
599 
610 SISCI_API_EXPORT size_t SCIGetRemoteSegmentSize(sci_remote_segment_t segment);
611 
612 
613 #define SCIGetRemoteSegmentId _SISCI_EXPANDE_FUNCTION_NAME(SCIGetRemoteSegmentId)
614 
623 SISCI_API_EXPORT unsigned int SCIGetRemoteSegmentId(sci_remote_segment_t segment);
624 
625 
626 #define SCIGetRemoteSegmentNodeId _SISCI_EXPANDE_FUNCTION_NAME(SCIGetRemoteSegmentNodeId)
627 
636 SISCI_API_EXPORT unsigned int SCIGetRemoteSegmentNodeId(sci_remote_segment_t segment);
637 
638 
639 #define SCIGetMapPointer _SISCI_EXPANDE_FUNCTION_NAME(SCIGetMapPointer)
640 
651 SISCI_API_EXPORT volatile void * SCIGetMapPointer(sci_map_t map);
652 
653 
654 #define SCIGetMapPhysAddr _SISCI_EXPANDE_FUNCTION_NAME(SCIGetMapPhysAddr)
655 
668 SISCI_API_EXPORT sci_ioaddr_t SCIGetMapPhysAddr(sci_map_t map);
669 
670 
671 #define SCIWaitForRemoteSegmentEvent _SISCI_EXPANDE_FUNCTION_NAME(SCIWaitForRemoteSegmentEvent)
672 
707  sci_remote_segment_t segment,
708  sci_error_t *status,
709  unsigned int timeout,
710  unsigned int flags,
711  sci_error_t *error);
712 
713 #define SCIMapRemoteSegment _SISCI_EXPANDE_FUNCTION_NAME(SCIMapRemoteSegment)
714 
813 SISCI_API_EXPORT volatile void *SCIMapRemoteSegment(
814  sci_remote_segment_t segment,
815  sci_map_t *map,
816  size_t offset,
817  size_t size,
818  void *addr,
819  unsigned int flags,
820  sci_error_t *error);
821 
822 #define SCIMapLocalSegment _SISCI_EXPANDE_FUNCTION_NAME(SCIMapLocalSegment)
823 
872 SISCI_API_EXPORT void *SCIMapLocalSegment(sci_local_segment_t segment,
873  sci_map_t *map,
874  size_t offset,
875  size_t size,
876  void *addr,
877  unsigned int flags,
878  sci_error_t *error);
879 
880 #define SCIUnmapSegment _SISCI_EXPANDE_FUNCTION_NAME(SCIUnmapSegment)
881 
901 SISCI_API_EXPORT void SCIUnmapSegment(sci_map_t map,
902  unsigned int flags,
903  sci_error_t *error);
904 
905 #define SCICreateSegment _SISCI_EXPANDE_FUNCTION_NAME(SCICreateSegment)
906 
1002 SISCI_API_EXPORT void SCICreateSegment(sci_desc_t sd,
1003  sci_local_segment_t *segment,
1004  unsigned int segmentId,
1005  size_t size,
1006  sci_cb_local_segment_t callback,
1007  void *callbackArg,
1008  unsigned int flags,
1009  sci_error_t *error);
1010 
1011 #define SCIWaitForLocalSegmentEvent _SISCI_EXPANDE_FUNCTION_NAME(SCIWaitForLocalSegmentEvent)
1012 
1045  sci_local_segment_t segment,
1046  unsigned int *sourcenodeId,
1047  unsigned int *localAdapterNo,
1048  unsigned int timeout,
1049  unsigned int flags,
1050  sci_error_t *error);
1051 
1052 #define SCIPrepareSegment _SISCI_EXPANDE_FUNCTION_NAME(SCIPrepareSegment)
1053 
1076 SISCI_API_EXPORT void SCIPrepareSegment(sci_local_segment_t segment,
1077  unsigned int localAdapterNo,
1078  unsigned int flags,
1079  sci_error_t *error);
1080 
1081 #define SCIRemoveSegment _SISCI_EXPANDE_FUNCTION_NAME(SCIRemoveSegment)
1082 
1119 SISCI_API_EXPORT void SCIRemoveSegment(sci_local_segment_t segment,
1120  unsigned int flags,
1121  sci_error_t *error);
1122 
1123 #define SCIGetLocalSegmentSize _SISCI_EXPANDE_FUNCTION_NAME(SCIGetLocalSegmentSize)
1124 
1135 SISCI_API_EXPORT size_t SCIGetLocalSegmentSize(sci_local_segment_t segment);
1136 
1137 
1138 
1139 #define SCIGetLocalSegmentId _SISCI_EXPANDE_FUNCTION_NAME(SCIGetLocalSegmentId)
1140 
1148 SISCI_API_EXPORT unsigned int SCIGetLocalSegmentId(sci_local_segment_t segment);
1149 
1150 
1151 #define SCISetSegmentAvailable _SISCI_EXPANDE_FUNCTION_NAME(SCISetSegmentAvailable)
1152 
1178 SISCI_API_EXPORT void SCISetSegmentAvailable(sci_local_segment_t segment,
1179  unsigned int localAdapterNo,
1180  unsigned int flags,
1181  sci_error_t *error);
1182 
1183 #define SCISetSegmentUnavailable _SISCI_EXPANDE_FUNCTION_NAME(SCISetSegmentUnavailable)
1184 
1216 SISCI_API_EXPORT void SCISetSegmentUnavailable(sci_local_segment_t segment,
1217  unsigned int localAdapterNo,
1218  unsigned int flags,
1219  sci_error_t *error);
1220 
1221 #define SCICreateMapSequence _SISCI_EXPANDE_FUNCTION_NAME(SCICreateMapSequence)
1222 
1239 SISCI_API_EXPORT void SCICreateMapSequence(sci_map_t map,
1240  sci_sequence_t *sequence,
1241  unsigned int flags,
1242  sci_error_t *error);
1243 
1244 #define SCIRemoveSequence _SISCI_EXPANDE_FUNCTION_NAME(SCIRemoveSequence)
1245 
1262 SISCI_API_EXPORT void SCIRemoveSequence(sci_sequence_t sequence,
1263  unsigned int flags,
1264  sci_error_t *error);
1265 
1266 
1267 
1268 #define SCIStartSequence _SISCI_EXPANDE_FUNCTION_NAME(SCIStartSequence)
1269 
1295 SISCI_API_EXPORT sci_sequence_status_t SCIStartSequence(sci_sequence_t sequence,
1296  unsigned int flags,
1297  sci_error_t *error);
1298 
1299 
1300 
1301 #define SCICheckSequence _SISCI_EXPANDE_FUNCTION_NAME(SCICheckSequence)
1302 
1344 SISCI_API_EXPORT sci_sequence_status_t SCICheckSequence(sci_sequence_t sequence,
1345  unsigned int flags,
1346  sci_error_t *error);
1347 
1348 #define SCIStoreBarrier _SISCI_EXPANDE_FUNCTION_NAME(SCIStoreBarrier)
1349 
1365 SISCI_API_EXPORT void SCIStoreBarrier(sci_sequence_t sequence,
1366  unsigned int flags);
1367 
1368 
1369 
1370 
1371 #define SCIProbeNode _SISCI_EXPANDE_FUNCTION_NAME(SCIProbeNode)
1372 
1400 SISCI_API_EXPORT int SCIProbeNode(sci_desc_t sd,
1401  unsigned int localAdapterNo,
1402  unsigned int nodeId,
1403  unsigned int flags,
1404  sci_error_t *error);
1405 
1406 
1407 #define SCIGetCSRRegister _SISCI_EXPANDE_FUNCTION_NAME(SCIGetCSRRegister)
1408 
1409 /*
1410  * Not to be documented in doxygen SISCI doc
1411  *
1412  * SISCI Privileged function
1413  * SCIGetCSRRegister reads a register on the specified network adapter.
1414  * A node is specified using its physical node identifier. The location is
1415  * determined by an offset from the base address of the CSR space.
1416  *
1417  * \param sd handle to an open SISCI virtual device descriptor
1418  * \param localAdapterNo number of the local adapter used for the communication
1419  * \param SCINodeId physical identifier of the remote node where the CSR space resides
1420  * \param CSROffset offset in the CSR space
1421  * \param flags not used
1422  * \param error error information
1423  *
1424  *
1425  * \b Error codes:
1426  * - SCI_ERR_OK \n
1427  * Successful completion.
1428  *
1429  * - SCI_ERR_NO_LINK_ACCESS \n
1430  * It was not possible to communicate via the local adapter.
1431  *
1432  * - SCI_ERR_NO_REMOTE_LINK_ACCESS \n
1433  * It was not possible to communicate via a remote switch port.
1434  *
1435  */
1436 
1437 SISCI_API_EXPORT unsigned int SCIGetCSRRegister(sci_desc_t sd,
1438  unsigned int localAdapterNo,
1439  unsigned int SCINodeId,
1440  unsigned int CSROffset,
1441  unsigned int flags,
1442  sci_error_t *error);
1443 
1444 
1445 #define SCISetCSRRegister _SISCI_EXPANDE_FUNCTION_NAME(SCISetCSRRegister)
1446 
1447 /*
1448  * Not to be documented in doxygen SISCI doc
1449  *
1450  * SISCI Privileged function
1451  * SCISetCSRRegister writes register on the specified network adapter.
1452  * A node is specified using its physical node identifier. The location is determined by
1453  * an offset from the base address of the CSR space.
1454  *
1455  * \param sd handle to an open SISCI virtual device descriptor
1456  * \param localAdapterNo number of the local adapter used for the communication
1457  * \param SCINodeId physical identifier of the remote node where the CSR space resides
1458  * \param CSROffset location offset in the CSR space
1459  * \param CSRValue value to write in the location
1460  * \param flags not used
1461  * \param error error information
1462  *
1463  * \b Flags:
1464  * - SCI_ERR_NO_LINK_ACCESS \n
1465  * It was not possible to communicate via the local adapter.
1466  *
1467  * - SCI_ERR_NO_REMOTE_LINK_ACCESS \n
1468  * It was not possible to communicate via a remote switch port.
1469  *
1470  * \b Error codes:
1471  * - SCI_ERR_OK \n
1472  * Successful completion.
1473  *
1474  * - SCI_ERR_NO_LINK_ACCESS \n
1475  * It was not possible to communicate via the local adapter
1476  *
1477  * - SCI_ERR_NO_REMOTE_LINK_ACCESS \n
1478  * It was not possible to communicate via a remote switch port
1479  */
1480 
1481 SISCI_API_EXPORT void SCISetCSRRegister(sci_desc_t sd,
1482  unsigned int localAdapterNo,
1483  unsigned int SCINodeId,
1484  unsigned int CSROffset,
1485  unsigned int CSRValue,
1486  unsigned int flags,
1487  sci_error_t *error);
1488 
1489 
1490 #define SCIGetLocalCSR _SISCI_EXPANDE_FUNCTION_NAME(SCIGetLocalCSR)
1491 
1492 /*
1493  * Not to be documented in doxygen SISCI doc
1494  *
1495  * SISCI Privileged function Further function description missing.
1496  *
1497  * \param sd handle to an open SISCI virtual device descriptor
1498  * \param localAdapterNo number of the local adapter used for CSR
1499  * \param CSROffset location offset in the CSR space
1500  * \param flags not used
1501  * \param error error information
1502  *
1503  *
1504  * \b Error codes:
1505  * - SCI_ERR_OK \n
1506  * Successful completion.
1507  *
1508  * - No specific errors for this function.
1509  */
1510 
1511 SISCI_API_EXPORT unsigned int SCIGetLocalCSR(sci_desc_t sd,
1512  unsigned int localAdapterNo,
1513  unsigned int CSROffset,
1514  unsigned int flags,
1515  sci_error_t *error);
1516 
1517 #define SCISetLocalCSR _SISCI_EXPANDE_FUNCTION_NAME(SCISetLocalCSR)
1518 
1519 /*
1520  * Not to be documented in doxygen SISCI doc
1521  *
1522  * SISCI Privileged function
1523  * Further function description missing.
1524  *
1525  * \param sd handle to an open SISCI virtual device descriptor
1526  * \param localAdapterNo number of the local adapter used for CSR
1527  * \param CSROffset location offset in the CSR space
1528  * \param CSRValue value
1529  * \param flags not used
1530  * \param error error information
1531  *
1532  *
1533  * \b Error codes:
1534  * - SCI_ERR_OK \n
1535  * Successful completion.
1536  *
1537  * - No specific errors for this function.
1538  *
1539  */
1540 
1541 SISCI_API_EXPORT void SCISetLocalCSR(sci_desc_t sd,
1542  unsigned int localAdapterNo,
1543  unsigned int CSROffset,
1544  unsigned int CSRValue,
1545  unsigned int flags,
1546  sci_error_t *error);
1547 
1548 
1549 
1550 #define SCIAttachPhysicalMemory _SISCI_EXPANDE_FUNCTION_NAME(SCIAttachPhysicalMemory)
1551 
1592 SISCI_API_EXPORT void SCIAttachPhysicalMemory(sci_ioaddr_t ioaddress,
1593  void *address,
1594  unsigned int busNo,
1595  size_t size,
1596  sci_local_segment_t segment,
1597  unsigned int flags,
1598  sci_error_t *error);
1599 
1600 #define SCIQuery _SISCI_EXPANDE_FUNCTION_NAME(SCIQuery)
1601 
1602 #define SCI_FLAG_CUDA_BUFFER _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_CUDA_BUFFER)
1603  SISCI_API_EXPORT extern const unsigned int SCI_FLAG_CUDA_BUFFER;
1604 
1605 #define SCI_FLAG_SCIF_BUFFER _SISCI_EXPANDE_CONSTANT_NAME(SCI_FLAG_SCIF_BUFFER)
1606  SISCI_API_EXPORT extern const unsigned int SCI_FLAG_SCIF_BUFFER;
1607 
1608 
1609 
1774 SISCI_API_EXPORT void SCIQuery(unsigned int command,
1775  void *data,
1776  unsigned int flags,
1777  sci_error_t *error);
1778 
1779 
1780 #define SCIGetLocalNodeId _SISCI_EXPANDE_FUNCTION_NAME(SCIGetLocalNodeId)
1781 
1800 SISCI_API_EXPORT void SCIGetLocalNodeId(unsigned int adapterNo,
1801  unsigned int *nodeId,
1802  unsigned int flags,
1803  sci_error_t *error);
1804 
1805 
1806 #define SCIGetNodeIdByAdapterName _SISCI_EXPANDE_FUNCTION_NAME(SCIGetNodeIdByAdapterName)
1807 
1829 SISCI_API_EXPORT void SCIGetNodeIdByAdapterName(char *adaptername,
1830  dis_nodeId_list_t *nodeId,
1831  dis_adapter_type_t *type,
1832  unsigned int flags,
1833  sci_error_t *error);
1834 
1835 #define SCIGetNodeInfoByAdapterName _SISCI_EXPANDE_FUNCTION_NAME(SCIGetNodeInfoByAdapterName)
1836 
1856 SISCI_API_EXPORT void SCIGetNodeInfoByAdapterName(char *adaptername,
1857  unsigned int *adapterNo,
1858  dis_nodeId_list_t *nodeIdlist,
1859  dis_adapter_type_t *type,
1860  unsigned int flags,
1861  sci_error_t *error);
1862 
1863 #define SCIGetErrorString _SISCI_EXPANDE_FUNCTION_NAME(SCIGetErrorString)
1864 
1877 SISCI_API_EXPORT const char *SCIGetErrorString(sci_error_t error);
1878 
1879 
1880 #define SCIGetAdapterTypeString _SISCI_EXPANDE_FUNCTION_NAME(SCIGetAdapterTypeString)
1881 /*
1882  * Not to be documented in the Doxygen doc
1883  *
1884  * \param adapterType adapter type returned from SCIQuery()
1885  *
1886  * \return
1887  * - The function returns a string representation of the adapter type.
1888  *
1889  */
1890 SISCI_API_EXPORT const char *SCIGetAdapterTypeString(unsigned int adapterType);
1891 
1892 
1893 #define SCIGetAdapterFamilyString _SISCI_EXPANDE_FUNCTION_NAME(SCIGetAdapterFamilyString)
1894 /*
1895  * Not to be documented in the Doxygen doc
1896  *
1897  * \param adapterType adapter type returned from SCIQuery()
1898  *
1899  * \return
1900  * - The function returns a string representation of the adapter family.
1901  *
1902  */
1903 SISCI_API_EXPORT const char *SCIGetAdapterFamilyString(unsigned int adapterType);
1904 
1905 
1906 /* MAJOR QUERY COMMANDS */
1907 
1913 #define SCI_Q_VENDORID _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_VENDORID)
1914 SISCI_API_EXPORT extern const unsigned int SCI_Q_VENDORID;
1915 
1916 
1922 #define SCI_Q_API _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_API)
1923 SISCI_API_EXPORT extern const unsigned int SCI_Q_API;
1924 
1925 
1931 #define SCI_Q_SISCI_DRIVER_VERSION _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_SISCI_DRIVER_VERSION)
1932 SISCI_API_EXPORT extern const unsigned int SCI_Q_SISCI_DRIVER_VERSION;
1933 
1934 
1945 #define SCI_Q_ADAPTER _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_ADAPTER)
1946 SISCI_API_EXPORT extern const unsigned int SCI_Q_ADAPTER;
1947 
1948 
1957 #define SCI_Q_SYSTEM _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_SYSTEM)
1958 SISCI_API_EXPORT extern const unsigned int SCI_Q_SYSTEM;
1959 
1960 
1969 #define SCI_Q_DMA _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_DMA)
1970 SISCI_API_EXPORT extern const unsigned int SCI_Q_DMA;
1971 
1981 #define SCI_Q_DEVICE _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_DEVICE)
1982 SISCI_API_EXPORT extern const unsigned int SCI_Q_DEVICE;
1983 
1993 #define SCI_Q_LOCAL_SEGMENT _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_LOCAL_SEGMENT)
1994 SISCI_API_EXPORT extern const unsigned int SCI_Q_LOCAL_SEGMENT;
1995 
2005 #define SCI_Q_REMOTE_SEGMENT _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_REMOTE_SEGMENT)
2006 SISCI_API_EXPORT extern const unsigned int SCI_Q_REMOTE_SEGMENT;
2007 
2008 #define SCI_Q_MAP _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_MAP)
2009 
2012 SISCI_API_EXPORT extern const unsigned int SCI_Q_MAP;
2013 
2014 typedef char* sci_semaphoreId_t;
2015 
2016 #ifdef _WIN32
2017 struct _semaphoreid {
2018  char *semaphoreName;
2019 };
2020 #endif /* _WIN32 */
2021 
2026 typedef struct {
2027  char *str;
2029  unsigned int length;
2031 
2037 typedef struct {
2038  unsigned int localAdapterNo;
2039  unsigned int portNo;
2040  unsigned int subcommand;
2041  void *data;
2044 
2045 
2051 typedef struct {
2052  unsigned int subcommand;
2053  void *data;
2056 
2057 
2061 typedef struct {
2062  unsigned int num_channels;
2064  unsigned int max_transfer_size;
2065  unsigned int max_vector_length;
2067  unsigned int support_mem2io;
2068  unsigned int support_io2mem;
2069  unsigned int support_io2io;
2072  unsigned int min_align_bytes;
2073  unsigned int suggested_align_bytes;
2075 
2081 typedef struct {
2082  unsigned int localAdapterNo;
2083  unsigned int subcommand;
2084  void *data;
2086 } sci_query_dma_t;
2087 
2088 
2094 typedef struct {
2095  unsigned long long fdid;
2096  unsigned int subcommand;
2097  void *data;
2101 
2102 
2108 typedef struct {
2110  unsigned int subcommand;
2111  union {
2112  sci_ioaddr_t ioaddr;
2113  } data;
2115 
2121 typedef struct {
2123  unsigned int subcommand;
2124  union {
2125  sci_ioaddr_t ioaddr;
2126  } data;
2128 
2134 typedef struct {
2136  unsigned int subcommand;
2137  unsigned long long data;
2138 } sci_query_map_t;
2139 
2140 /* Minor query commands (sub-commands) for adapter specific information SCI_ADAPTER */
2141 #define SCI_Q_ADAPTER_DMA_SIZE_ALIGNMENT _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_ADAPTER_DMA_SIZE_ALIGNMENT)
2142 SISCI_API_EXPORT extern const unsigned int SCI_Q_ADAPTER_DMA_SIZE_ALIGNMENT;
2143 
2144 #define SCI_Q_ADAPTER_DMA_OFFSET_ALIGNMENT _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_ADAPTER_DMA_OFFSET_ALIGNMENT)
2145 SISCI_API_EXPORT extern const unsigned int SCI_Q_ADAPTER_DMA_OFFSET_ALIGNMENT;
2146 
2165 #define SCI_Q_ADAPTER_DMA_MTU _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_ADAPTER_DMA_MTU)
2166 SISCI_API_EXPORT extern const unsigned int SCI_Q_ADAPTER_DMA_MTU;
2167 
2168 #define SCI_Q_ADAPTER_SUGGESTED_MIN_DMA_SIZE _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_ADAPTER_SUGGESTED_MIN_DMA_SIZE)
2169 SISCI_API_EXPORT extern const unsigned int SCI_Q_ADAPTER_SUGGESTED_MIN_DMA_SIZE;
2170 
2171 #define SCI_Q_ADAPTER_SUGGESTED_MIN_BLOCK_SIZE _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_ADAPTER_SUGGESTED_MIN_BLOCK_SIZE)
2172 SISCI_API_EXPORT extern const unsigned int SCI_Q_ADAPTER_SUGGESTED_MIN_BLOCK_SIZE;
2173 
2185 #define SCI_Q_ADAPTER_NODEID _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_ADAPTER_NODEID)
2186 SISCI_API_EXPORT extern const unsigned int SCI_Q_ADAPTER_NODEID;
2187 
2199 #define SCI_Q_ADAPTER_SERIAL_NUMBER _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_ADAPTER_SERIAL_NUMBER)
2200 SISCI_API_EXPORT extern const unsigned int SCI_Q_ADAPTER_SERIAL_NUMBER;
2201 
2214 #define SCI_Q_ADAPTER_CARD_TYPE _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_ADAPTER_CARD_TYPE)
2215 SISCI_API_EXPORT extern const unsigned int SCI_Q_ADAPTER_CARD_TYPE;
2216 
2217 #define SCI_Q_ADAPTER_NUMBER_OF_STREAMS _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_ADAPTER_NUMBER_OF_STREAMS)
2218 SISCI_API_EXPORT extern const unsigned int SCI_Q_ADAPTER_NUMBER_OF_STREAMS;
2219 
2220 #define SCI_Q_ADAPTER_STREAM_BUFFER_SIZE _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_ADAPTER_STREAM_BUFFER_SIZE)
2221 SISCI_API_EXPORT extern const unsigned int SCI_Q_ADAPTER_STREAM_BUFFER_SIZE;
2222 
2234 #define SCI_Q_ADAPTER_CONFIGURED _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_ADAPTER_CONFIGURED)
2235 SISCI_API_EXPORT extern const unsigned int SCI_Q_ADAPTER_CONFIGURED;
2236 
2237 #define SCI_Q_ADAPTER_HW_LINK_STATUS_IS_OK _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_ADAPTER_HW_LINK_STATUS_IS_OK)
2238 SISCI_API_EXPORT extern const unsigned int SCI_Q_ADAPTER_HW_LINK_STATUS_IS_OK;
2239 
2240 #define SCI_Q_ADAPTER_NUMBER _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_ADAPTER_NUMBER)
2241 SISCI_API_EXPORT extern const unsigned int SCI_Q_ADAPTER_NUMBER;
2242 
2243 #define SCI_Q_ADAPTER_INSTANCE_NUMBER _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_ADAPTER_INSTANCE_NUMBER)
2244 SISCI_API_EXPORT extern const unsigned int SCI_Q_ADAPTER_INSTANCE_NUMBER;
2245 
2246 #define SCI_Q_ADAPTER_FIRMWARE_OK _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_ADAPTER_FIRMWARE_OK)
2247 SISCI_API_EXPORT extern const unsigned int SCI_Q_ADAPTER_FIRMWARE_OK;
2248 
2249 #define SCI_Q_ADAPTER_CONNECTED_TO_SWITCH _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_ADAPTER_CONNECTED_TO_SWITCH)
2250 SISCI_API_EXPORT extern const unsigned int SCI_Q_ADAPTER_CONNECTED_TO_SWITCH;
2251 
2252 #define SCI_Q_ADAPTER_LOCAL_SWITCH_TYPE _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_ADAPTER_LOCAL_SWITCH_TYPE)
2253 SISCI_API_EXPORT extern const unsigned int SCI_Q_ADAPTER_LOCAL_SWITCH_TYPE;
2254 
2255 #define SCI_Q_ADAPTER_LOCAL_SWITCH_PORT_NUMBER _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_ADAPTER_LOCAL_SWITCH_PORT_NUMBER)
2256 SISCI_API_EXPORT extern const unsigned int SCI_Q_ADAPTER_LOCAL_SWITCH_PORT_NUMBER;
2257 
2258 #define SCI_Q_ADAPTER_CONNECTED_TO_EXPECTED_SWITCH_PORT _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_ADAPTER_CONNECTED_TO_EXPECTED_SWITCH_PORT)
2259 SISCI_API_EXPORT extern const unsigned int SCI_Q_ADAPTER_CONNECTED_TO_EXPECTED_SWITCH_PORT;
2260 
2261 #define SCI_Q_ADAPTER_ATT_PAGE_SIZE _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_ADAPTER_ATT_PAGE_SIZE)
2262 SISCI_API_EXPORT extern const unsigned int SCI_Q_ADAPTER_ATT_PAGE_SIZE;
2263 
2264 #define SCI_Q_ADAPTER_ATT_NUMBER_OF_ENTRIES _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_ADAPTER_ATT_NUMBER_OF_ENTRIES)
2265 SISCI_API_EXPORT extern const unsigned int SCI_Q_ADAPTER_ATT_NUMBER_OF_ENTRIES;
2266 
2267 #define SCI_Q_ADAPTER_ATT_AVAILABLE_ENTRIES _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_ADAPTER_ATT_AVAILABLE_ENTRIES)
2268 SISCI_API_EXPORT extern const unsigned int SCI_Q_ADAPTER_ATT_AVAILABLE_ENTRIES;
2269 
2270 #define SCI_Q_ADAPTER_PHYS_MEM_NODEID _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_ADAPTER_PHYS_MEM_NODEID)
2271 SISCI_API_EXPORT extern const unsigned int SCI_Q_ADAPTER_PHYS_MEM_NODEID;
2272 
2273 #define SCI_Q_ADAPTER_PHYS_MBX_NODEID _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_ADAPTER_PHYS_MBX_NODEID)
2274 SISCI_API_EXPORT extern const unsigned int SCI_Q_ADAPTER_PHYS_MBX_NODEID;
2275 
2276 #define SCI_Q_ADAPTER_PHYS_LINK_PORT_NODEID _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_ADAPTER_PHYS_LINK_PORT_NODEID)
2277 SISCI_API_EXPORT extern const unsigned int SCI_Q_ADAPTER_PHYS_LINK_PORT_NODEID;
2278 
2279 #define SCI_Q_ADAPTER_SCI_LINK_FREQUENCY _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_ADAPTER_SCI_LINK_FREQUENCY)
2280 SISCI_API_EXPORT extern const unsigned int SCI_Q_ADAPTER_SCI_LINK_FREQUENCY;
2281 
2282 #define SCI_Q_ADAPTER_IO_BUS_FREQUENCY _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_ADAPTER_IO_BUS_FREQUENCY)
2283 SISCI_API_EXPORT extern const unsigned int SCI_Q_ADAPTER_IO_BUS_FREQUENCY;
2284 
2296 #define SCI_Q_ADAPTER_LINK_WIDTH _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_ADAPTER_LINK_WIDTH)
2297 SISCI_API_EXPORT extern const unsigned int SCI_Q_ADAPTER_LINK_WIDTH;
2298 
2310 #define SCI_Q_ADAPTER_LINK_SPEED _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_ADAPTER_LINK_SPEED)
2311 SISCI_API_EXPORT extern const unsigned int SCI_Q_ADAPTER_LINK_SPEED;
2312 
2324 #define SCI_Q_ADAPTER_LINK_UPTIME _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_ADAPTER_LINK_UPTIME)
2325 SISCI_API_EXPORT extern const unsigned int SCI_Q_ADAPTER_LINK_UPTIME;
2326 
2338 #define SCI_Q_ADAPTER_LINK_DOWNTIME _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_ADAPTER_LINK_DOWNTIME)
2339 SISCI_API_EXPORT extern const unsigned int SCI_Q_ADAPTER_LINK_DOWNTIME;
2340 
2352 #define SCI_Q_ADAPTER_LINK_OPERATIONAL _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_ADAPTER_LINK_OPERATIONAL)
2353 SISCI_API_EXPORT extern const unsigned int SCI_Q_ADAPTER_LINK_OPERATIONAL;
2354 
2366 #define SCI_Q_ADAPTER_LINK_CABLE_INSERTED _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_ADAPTER_LINK_CABLE_INSERTED)
2367 SISCI_API_EXPORT extern const unsigned int SCI_Q_ADAPTER_LINK_CABLE_INSERTED;
2368 
2381 #define SCI_Q_ADAPTER_LINK_ENABLED _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_ADAPTER_LINK_ENABLED)
2382 SISCI_API_EXPORT extern const unsigned int SCI_Q_ADAPTER_LINK_ENABLED;
2383 
2395 #define SCI_Q_ADAPTER_LINK_PARTNER_PORT_NO _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_ADAPTER_LINK_PARTNER_PORT_NO)
2396 SISCI_API_EXPORT extern const unsigned int SCI_Q_ADAPTER_LINK_PARTNER_PORT_NO;
2397 
2409 #define SCI_Q_ADAPTER_NUMBER_OF_LINKS _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_ADAPTER_NUMBER_OF_LINKS)
2410 SISCI_API_EXPORT extern const unsigned int SCI_Q_ADAPTER_NUMBER_OF_LINKS;
2411 
2412 #define SCI_Q_ADAPTER_DATAINT_MAX_LENGTH _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_ADAPTER_DATAINT_MAX_LENGTH)
2413 SISCI_API_EXPORT extern const unsigned int SCI_Q_ADAPTER_DATAINT_MAX_LENGTH;
2414 
2426 #define SCI_Q_ADAPTER_MCAST_MAX_GROUPS _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_ADAPTER_MCAST_MAX_GROUPS)
2427 SISCI_API_EXPORT extern const unsigned int SCI_Q_ADAPTER_MCAST_MAX_GROUPS;
2428 
2429 #define SCI_Q_ADAPTER_BDF _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_ADAPTER_BDF)
2430 SISCI_API_EXPORT extern const unsigned int SCI_Q_ADAPTER_BDF;
2431 
2432 
2433 
2434 /* Minor query commands (sub-commands) for adapter specific information SCI_SYSTEM */
2435 
2436 
2447 #define SCI_Q_SYSTEM_CPU_CACHE_LINE_SIZE _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_SYSTEM_CPU_CACHE_LINE_SIZE)
2448 SISCI_API_EXPORT extern const unsigned int SCI_Q_SYSTEM_CPU_CACHE_LINE_SIZE;
2449 
2450 #define SCI_Q_SYSTEM_HOSTBRIDGE _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_SYSTEM_HOSTBRIDGE)
2451 SISCI_API_EXPORT extern const unsigned int SCI_Q_SYSTEM_HOSTBRIDGE;
2452 
2453 #define SCI_Q_SYSTEM_WRITE_POSTING_ENABLED _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_SYSTEM_WRITE_POSTING_ENABLED)
2454 SISCI_API_EXPORT extern const unsigned int SCI_Q_SYSTEM_WRITE_POSTING_ENABLED;
2455 
2456 #define SCI_Q_SYSTEM_WRITE_COMBINING_ENABLED _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_SYSTEM_WRITE_COMBINING_ENABLED)
2457 SISCI_API_EXPORT extern const unsigned int SCI_Q_SYSTEM_WRITE_COMBINING_ENABLED;
2458 
2470 #define SCI_Q_LOCAL_SEGMENT_IOADDR _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_LOCAL_SEGMENT_IOADDR)
2471 SISCI_API_EXPORT extern const unsigned int SCI_Q_LOCAL_SEGMENT_IOADDR;
2472 
2484 #define SCI_Q_LOCAL_SEGMENT_VIRTUAL_KERNEL_ADDR _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_LOCAL_SEGMENT_VIRTUAL_KERNEL_ADDR)
2485 SISCI_API_EXPORT extern const unsigned int SCI_Q_LOCAL_SEGMENT_VIRTUAL_KERNEL_ADDR;
2486 
2498 #define SCI_Q_LOCAL_SEGMENT_PHYS_ADDR _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_LOCAL_SEGMENT_PHYS_ADDR)
2499 SISCI_API_EXPORT extern const unsigned int SCI_Q_LOCAL_SEGMENT_PHYS_ADDR;
2500 
2514 #define SCI_Q_REMOTE_SEGMENT_IOADDR _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_REMOTE_SEGMENT_IOADDR)
2515 
2517 SISCI_API_EXPORT extern const unsigned int SCI_Q_REMOTE_SEGMENT_IOADDR;
2518 
2519 #define SCI_Q_MAP_MAPPED_TO_LOCAL_TARGET _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_MAP_MAPPED_TO_LOCAL_TARGET)
2520 SISCI_API_EXPORT extern const unsigned int SCI_Q_MAP_MAPPED_TO_LOCAL_TARGET;
2521 
2540 #define SCI_Q_MAP_QUERY_REMOTE_MAPPED_TO_LOCAL_TARGET _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_MAP_QUERY_REMOTE_MAPPED_TO_LOCAL_TARGET)
2541 SISCI_API_EXPORT extern const unsigned int SCI_Q_MAP_QUERY_REMOTE_MAPPED_TO_LOCAL_TARGET;
2542 
2543 #define SCI_Q_MAP_PHYS_ADDR _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_MAP_PHYS_ADDR)
2544 SISCI_API_EXPORT extern const unsigned int SCI_Q_MAP_PHYS_ADDR;
2545 
2546 #define SCI_Q_MAP_IOADDR _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_MAP_IOADDR)
2547 SISCI_API_EXPORT extern const unsigned int SCI_Q_MAP_IOADDR;
2548 
2549 #define HOSTBRIDGE_WRITE_POSTING_DISABLED _SISCI_EXPANDE_CONSTANT_NAME(HOSTBRIDGE_WRITE_POSTING_DISABLED)
2550 SISCI_API_EXPORT extern const unsigned int HOSTBRIDGE_WRITE_POSTING_DISABLED;
2551 
2552 #define HOSTBRIDGE_WRITE_POSTING_ENABLED _SISCI_EXPANDE_CONSTANT_NAME(HOSTBRIDGE_WRITE_POSTING_ENABLED)
2553 SISCI_API_EXPORT extern const unsigned int HOSTBRIDGE_WRITE_POSTING_ENABLED;
2554 
2555 
2556 
2557 
2576 #define SCI_Q_DMA_AVAILABLE _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_DMA_AVAILABLE)
2577 SISCI_API_EXPORT extern const unsigned int SCI_Q_DMA_AVAILABLE;
2578 
2597 #define SCI_Q_DMA_CAPABILITIES _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_DMA_CAPABILITIES)
2598 SISCI_API_EXPORT extern const unsigned int SCI_Q_DMA_CAPABILITIES;
2599 
2600 
2601 
2602 
2603 /* Minor query commands (sub-commands) for device specific information */
2604 
2617 #define SCI_Q_DEVICE_INFO _SISCI_EXPANDE_CONSTANT_NAME(SCI_Q_DEVICE_INFO)
2618 SISCI_API_EXPORT extern const unsigned int SCI_Q_DEVICE_INFO;
2619 
2620 
2621 
2622 
2623 #define SCICreateDMAQueue _SISCI_EXPANDE_FUNCTION_NAME(SCICreateDMAQueue)
2624 
2651 SISCI_API_EXPORT void SCICreateDMAQueue(sci_desc_t sd,
2652  sci_dma_queue_t *dq,
2653  unsigned int localAdapterNo,
2654  unsigned int maxEntries,
2655  unsigned int flags,
2656  sci_error_t *error);
2657 
2658 
2659 #define SCIRemoveDMAQueue _SISCI_EXPANDE_FUNCTION_NAME(SCIRemoveDMAQueue)
2660 
2686 SISCI_API_EXPORT void SCIRemoveDMAQueue(sci_dma_queue_t dq,
2687  unsigned int flags,
2688  sci_error_t *error);
2689 
2690 
2691 
2692 
2693 #define SCIAbortDMAQueue _SISCI_EXPANDE_FUNCTION_NAME(SCIAbortDMAQueue)
2694 
2720 SISCI_API_EXPORT void SCIAbortDMAQueue(sci_dma_queue_t dq,
2721  unsigned int flags,
2722  sci_error_t *error);
2723 
2724 
2725 #define SCIDMAQueueState _SISCI_EXPANDE_FUNCTION_NAME(SCIDMAQueueState)
2726 
2744 
2745 
2746 
2747 
2748 #define SCIWaitForDMAQueue _SISCI_EXPANDE_FUNCTION_NAME(SCIWaitForDMAQueue)
2749 
2790  unsigned int timeout,
2791  unsigned int flags,
2792  sci_error_t *error);
2793 
2794 
2795 
2796 #ifdef _WIN32
2797 #define SCICreateNamedInterrupt _SISCI_EXPANDE_FUNCTION_NAME(SCICreateNamedInterrupt)
2798 
2832 SISCI_API_EXPORT void SCICreateNamedInterrupt(sci_desc_t sd,
2833  sci_local_interrupt_t *interrupt,
2834  unsigned int localAdapterNo,
2835  unsigned int *interruptNo,
2836  sci_cb_interrupt_t callback,
2837  void *callbackArg,
2838  unsigned int flags,
2839  sci_semaphoreId_t semId,
2840  sci_error_t *error);
2841 
2842 #endif /* _WIN32 */
2843 
2844 
2845 #define SCICreateInterrupt _SISCI_EXPANDE_FUNCTION_NAME(SCICreateInterrupt)
2846 
2902 SISCI_API_EXPORT void SCICreateInterrupt(sci_desc_t sd,
2903  sci_local_interrupt_t *interrupt,
2904  unsigned int localAdapterNo,
2905  unsigned int *interruptNo,
2906  sci_cb_interrupt_t callback,
2907  void *callbackArg,
2908  unsigned int flags,
2909  sci_error_t *error);
2910 
2911 
2912 #define SCIRemoveInterrupt _SISCI_EXPANDE_FUNCTION_NAME(SCIRemoveInterrupt)
2913 
2939 SISCI_API_EXPORT void SCIRemoveInterrupt(sci_local_interrupt_t interrupt,
2940  unsigned int flags,
2941  sci_error_t *error);
2942 
2943 #define SCIWaitForInterrupt _SISCI_EXPANDE_FUNCTION_NAME(SCIWaitForInterrupt)
2944 
2973 SISCI_API_EXPORT void SCIWaitForInterrupt(sci_local_interrupt_t interrupt,
2974  unsigned int timeout,
2975  unsigned int flags,
2976  sci_error_t *error);
2977 
2978 
2979 
2980 #define SCIConnectInterrupt _SISCI_EXPANDE_FUNCTION_NAME(SCIConnectInterrupt)
2981 
3025 SISCI_API_EXPORT void SCIConnectInterrupt(sci_desc_t sd,
3026  sci_remote_interrupt_t *interrupt,
3027  unsigned int nodeId,
3028  unsigned int localAdapterNo,
3029  unsigned int interruptNo,
3030  unsigned int timeout,
3031  unsigned int flags,
3032  sci_error_t *error);
3033 
3034 #define SCIDisconnectInterrupt _SISCI_EXPANDE_FUNCTION_NAME(SCIDisconnectInterrupt)
3035 
3056 SISCI_API_EXPORT void SCIDisconnectInterrupt(sci_remote_interrupt_t interrupt,
3057  unsigned int flags,
3058  sci_error_t *error);
3059 
3060 
3061 #define SCITriggerInterrupt _SISCI_EXPANDE_FUNCTION_NAME(SCITriggerInterrupt)
3062 
3084 SISCI_API_EXPORT void SCITriggerInterrupt(sci_remote_interrupt_t interrupt,
3085  unsigned int flags,
3086  sci_error_t *error);
3087 
3088 
3089 #define SCICreateDataInterrupt _SISCI_EXPANDE_FUNCTION_NAME(SCICreateDataInterrupt)
3090 
3131 SISCI_API_EXPORT void SCICreateDataInterrupt(sci_desc_t sd,
3132  sci_local_data_interrupt_t *interrupt,
3133  unsigned int localAdapterNo,
3134  unsigned int *interruptNo,
3135  sci_cb_data_interrupt_t callback,
3136  void *callbackArg,
3137  unsigned int flags,
3138  sci_error_t *error);
3139 
3140 
3141 #define SCIRemoveDataInterrupt _SISCI_EXPANDE_FUNCTION_NAME(SCIRemoveDataInterrupt)
3142 
3168 SISCI_API_EXPORT void SCIRemoveDataInterrupt(sci_local_data_interrupt_t interrupt,
3169  unsigned int flags,
3170  sci_error_t *error);
3171 
3172 #define SCIWaitForDataInterrupt _SISCI_EXPANDE_FUNCTION_NAME(SCIWaitForDataInterrupt)
3173 
3207 SISCI_API_EXPORT void SCIWaitForDataInterrupt(
3208  sci_local_data_interrupt_t interrupt,
3209  void *data,
3210  unsigned int *length,
3211  unsigned int timeout,
3212  unsigned int flags,
3213  sci_error_t *error);
3214 
3215 
3216 
3217 #define SCIConnectDataInterrupt _SISCI_EXPANDE_FUNCTION_NAME(SCIConnectDataInterrupt)
3218 
3254 SISCI_API_EXPORT void SCIConnectDataInterrupt(
3255  sci_desc_t sd,
3256  sci_remote_data_interrupt_t *interrupt,
3257  unsigned int nodeId,
3258  unsigned int localAdapterNo,
3259  unsigned int interruptNo,
3260  unsigned int timeout,
3261  unsigned int flags,
3262  sci_error_t *error);
3263 
3264 #define SCIDisconnectDataInterrupt _SISCI_EXPANDE_FUNCTION_NAME(SCIDisconnectDataInterrupt)
3265 
3286 SISCI_API_EXPORT void SCIDisconnectDataInterrupt(
3287  sci_remote_data_interrupt_t interrupt,
3288  unsigned int flags,
3289  sci_error_t *error);
3290 
3291 
3292 #define SCITriggerDataInterrupt _SISCI_EXPANDE_FUNCTION_NAME(SCITriggerDataInterrupt)
3293 
3317 SISCI_API_EXPORT void SCITriggerDataInterrupt(
3318  sci_remote_data_interrupt_t interrupt,
3319  void *data,
3320  unsigned int length,
3321  unsigned int flags,
3322  sci_error_t *error);
3323 
3324 
3325 
3326 #ifdef NOT_IN_USE
3327 
3328 #define SCIRegisterInterruptFlag _SISCI_EXPANDE_FUNCTION_NAME(SCIRegisterInterruptFlag)
3329 
3370 SISCI_API_EXPORT void SCIRegisterInterruptFlag(
3371  unsigned int localAdapterNo,
3372  sci_local_interrupt_t *interrupt,
3373  sci_local_segment_t segment,
3374  unsigned int offset,
3375  sci_cb_interrupt_t callback,
3376  void *callbackArg,
3377  unsigned int flags,
3378  sci_error_t *error);
3379 
3380 #endif /* NOT_IN_USE */
3381 
3382 
3383 #ifdef NOT_IN_USE
3384 
3385 #define SCIEnableConditionalInterrupt _SISCI_EXPANDE_FUNCTION_NAME(SCIEnableConditionalInterrupt)
3386 
3420 SISCI_API_EXPORT void SCIEnableConditionalInterrupt(
3421  sci_local_interrupt_t interrupt,
3422  unsigned int flags,
3423  sci_error_t *error);
3424 
3425 #endif /* NOT_IN_USE */
3426 
3427 
3428 #ifdef NOT_IN_USE
3429 
3430 #define SCIDisableConditionalInterrupt _SISCI_EXPANDE_FUNCTION_NAME(SCIDisableConditionalInterrupt)
3431 
3455 SISCI_API_EXPORT void SCIDisableConditionalInterrupt(
3456  sci_local_interrupt_t interrupt,
3457  unsigned int flags,
3458  sci_error_t *error);
3459 
3460 #endif /* NOT_IN_USE */
3461 
3462 
3463 #ifdef NOT_IN_USE
3464 
3465 #define SCIGetConditionalInterruptTrigCounter _SISCI_EXPANDE_FUNCTION_NAME(SCIGetConditionalInterruptTrigCounter)
3466 
3489 SISCI_API_EXPORT void SCIGetConditionalInterruptTrigCounter(
3490  sci_local_interrupt_t interrupt,
3491  unsigned int *interruptTrigCounter,
3492  unsigned int flags,
3493  sci_error_t *error);
3494 
3495 #endif /* NOT_IN_USE */
3496 
3497 
3498 
3499 #define SCIMemWrite _SISCI_EXPANDE_FUNCTION_NAME(SCIMemWrite)
3500 
3528 SISCI_API_EXPORT void SCIMemWrite(void *memAddr,
3529  volatile void *remoteAddr,
3530  size_t size,
3531  unsigned int flags,
3532  sci_error_t *error);
3533 
3534 
3535 
3536 
3537 
3538 #define SCIMemCpy _SISCI_EXPANDE_FUNCTION_NAME(SCIMemCpy)
3539 
3586 SISCI_API_EXPORT void SCIMemCpy(sci_sequence_t sequence,
3587  void *memAddr,
3588  sci_map_t remoteMap,
3589  size_t remoteOffset,
3590  size_t size,
3591  unsigned int flags,
3592  sci_error_t *error);
3593 
3594 
3595 #define SCIMemCpy_dual _SISCI_EXPANDE_FUNCTION_NAME(SCIMemCpy_dual)
3596 SISCI_API_EXPORT void SCIMemCpy_dual(sci_sequence_t sequence1,
3597  sci_sequence_t sequence2,
3598  void *memAddr,
3599  sci_map_t remoteMap1,
3600  sci_map_t remoteMap2,
3601  size_t remoteOffset,
3602  size_t size,
3603  unsigned int flags,
3604  sci_error_t *error);
3605 
3606 
3607 
3608 #define SCIRegisterSegmentMemory _SISCI_EXPANDE_FUNCTION_NAME(SCIRegisterSegmentMemory)
3609 
3660 SISCI_API_EXPORT void SCIRegisterSegmentMemory(void *address,
3661  size_t size,
3662  sci_local_segment_t segment,
3663  unsigned int flags,
3664  sci_error_t *error);
3665 
3666 #define SCIConnectSCISpace _SISCI_EXPANDE_FUNCTION_NAME(SCIConnectSCISpace)
3667 
3668 /*
3669  * Not to be documented in the Doxygen doc
3670  *
3671  * SISCI Privileged function
3672  * SCIConnectSCISpace() connects an application directly to a memory window in the adapter
3673  * address space, defined by its base address and its size, without any restriction. The
3674  * function creates and initializes a descriptor for the connected segment. The whole
3675  * responsibility of handling the segment is left to the programmer: no state diagram
3676  * is defined, no callbacks can be specified, no callbacks are invoked on the node
3677  * where the memory actually resides. The function has only the synchronous version;
3678  * if the connection fails the returned handle is not valid and should not be used; in
3679  * this case the related descriptor need not be destroyed with
3680  * SCIDisconnectSegment.
3681  * Once the address window has been connected, it can either be mapped in the address
3682  * space of the program (see SCIMapRemoteSegment()) or be used directly for DMA
3683  * transfers (see SCIStartDmaTransfer() and SCIStartDmaTransferVec()).
3684  *
3685  *
3686  * \param sd handle to an open SISCI virtual device descriptor
3687  * \param localAdapterNo number of the local adapter used for the connection
3688  * \param segment handle to the new connected segment descriptor
3689  * \param address base address of the memory window
3690  * \param size size of the memory window
3691  * \param flags not used
3692  * \param error error information
3693  *
3694  *
3695  * \b Error codes:
3696  * - SCI_ERR_OK \n
3697  * Successful completion.
3698  *
3699  * - SCI_ERR_SIZE_ALIGNMENT \n
3700  * Size is not correctly aligned as required by the implementation.
3701  *
3702  * - SCI_ERR_CONNECTION_REFUSED \n
3703  * Connection attempt refused by remote node.
3704  *
3705  * \note
3706  * - This function is only available with Dolphin SCI adapter cards.
3707  */
3708 
3709 SISCI_API_EXPORT void SCIConnectSCISpace(sci_desc_t sd,
3710  unsigned int localAdapterNo,
3711  sci_remote_segment_t *segment,
3712  sci_address_t address,
3713  size_t size,
3714  unsigned int flags,
3715  sci_error_t *error);
3716 
3717 
3718 #define SCIAttachLocalSegment _SISCI_EXPANDE_FUNCTION_NAME(SCIAttachLocalSegment)
3719 
3775 SISCI_API_EXPORT void
3777  sci_local_segment_t *segment,
3778  unsigned int segmentId,
3779  size_t *size,
3780  sci_cb_local_segment_t callback,
3781  void *callbackArg,
3782  unsigned int flags,
3783  sci_error_t *error);
3784 
3785 
3786 #define SCIShareSegment _SISCI_EXPANDE_FUNCTION_NAME(SCIShareSegment)
3787 
3810 SISCI_API_EXPORT void
3812  unsigned int flags,
3813  sci_error_t *error);
3814 
3815 
3816 
3817 #define SCIFlush _SISCI_EXPANDE_FUNCTION_NAME(SCIFlush)
3818 
3841 SISCI_API_EXPORT void SCIFlush(sci_sequence_t sequence,
3842  unsigned int flags);
3843 
3844 
3845 
3846 /************* NEW DMA INTERFACE FOR non SCI systems *****************/
3847 
3848 
3849 
3850 #define SCIStartDmaTransfer _SISCI_EXPANDE_FUNCTION_NAME(SCIStartDmaTransfer)
3851 
3936 SISCI_API_EXPORT void
3938  sci_local_segment_t localSegment,
3939  sci_remote_segment_t remoteSegment,
3940  size_t localOffset,
3941  size_t size,
3942  size_t remoteOffset,
3943  sci_cb_dma_t callback,
3944  void *callbackArg,
3945  unsigned int flags,
3946  sci_error_t *error);
3947 
3948 
3949 
3950 
3951 #define SCIStartDmaTransferMem _SISCI_EXPANDE_FUNCTION_NAME(SCIStartDmaTransferMem)
3952 
4034 SISCI_API_EXPORT void
4036  void *localAddress,
4037  sci_remote_segment_t remoteSegment,
4038  size_t size,
4039  size_t remoteOffset,
4040  sci_cb_dma_t callback,
4041  void * callbackArg,
4042  unsigned int flags,
4043  sci_error_t * error);
4044 
4045 
4046 
4047 
4048 #define SCIStartDmaTransferVec _SISCI_EXPANDE_FUNCTION_NAME(SCIStartDmaTransferVec)
4049 
4133 SISCI_API_EXPORT void
4135  sci_local_segment_t localSegment,
4136  sci_remote_segment_t remoteSegment,
4137  size_t vecLength,
4138  dis_dma_vec_t *disDmaVec,
4139  sci_cb_dma_t callback,
4140  void *callbackArg,
4141  unsigned int flags,
4142  sci_error_t *error);
4143 
4144 
4145 
4146 #define DISStartDmaTransfer _SISCI_EXPANDE_FUNCTION_NAME(DISStartDmaTransfer)
4147 /*
4148  *
4149  * Note: The DISStartDmaTransfer function is replaced by SCIStartDmaTransfer.
4150  *
4151  */
4152 
4153 SISCI_API_EXPORT void
4154 DISStartDmaTransfer(sci_dma_queue_t dq,
4155  sci_local_segment_t localSegment,
4156  sci_remote_segment_t remoteSegment,
4157  size_t localOffset,
4158  size_t size,
4159  size_t remoteOffset,
4160  sci_cb_dma_t callback,
4161  void *callbackArg,
4162  unsigned int flags,
4163  sci_error_t *error);
4164 
4165 
4166 #define DISStartDmaTransferVec _SISCI_EXPANDE_FUNCTION_NAME(DISStartDmaTransferVec)
4167 /*
4168  *
4169  * Note: The DISStartDmaTransferVec function is replaced by SCIStartDmaTransferVec.
4170  *
4171  */
4172 
4173 SISCI_API_EXPORT void
4174 DISStartDmaTransferVec(sci_dma_queue_t dq,
4175  sci_local_segment_t localSegment,
4176  sci_remote_segment_t remoteSegment,
4177  size_t vecLength,
4178  dis_dma_vec_t *disDmaVec,
4179  sci_cb_dma_t callback,
4180  void *callbackArg,
4181  unsigned int flags,
4182  sci_error_t *error);
4183 
4184 
4185 
4186 #define SCIRequestDMAChannel _SISCI_EXPANDE_FUNCTION_NAME(SCIRequestDMAChannel)
4187 
4239 SISCI_API_EXPORT void
4241  sci_dma_channel_t *channel,
4242  unsigned int localAdapterNo,
4243  sci_dma_type_t type,
4244  unsigned int channelId,
4245  unsigned int flags,
4246  sci_error_t *error);
4247 
4248 #define SCIReturnDMAChannel _SISCI_EXPANDE_FUNCTION_NAME(SCIReturnDMAChannel)
4249 
4273 SISCI_API_EXPORT void
4275  sci_error_t *error);
4276 
4277 #define SCIAssignDMAChannel _SISCI_EXPANDE_FUNCTION_NAME(SCIAssignDMAChannel)
4278 
4304 SISCI_API_EXPORT void
4306  sci_dma_queue_t dq,
4307  unsigned int flags,
4308  sci_error_t *error);
4309 
4310 #define SCIGetDMAChannelType _SISCI_EXPANDE_FUNCTION_NAME(SCIGetDMAChannelType)
4311 
4323 SISCI_API_EXPORT sci_dma_type_t SCIGetDMAChannelType(sci_dma_channel_t channel);
4324 
4325 
4326 #define SCIPrepareLocalSegmentForDMA _SISCI_EXPANDE_FUNCTION_NAME(SCIPrepareLocalSegmentForDMA)
4327 
4358 SISCI_API_EXPORT void
4360  sci_local_segment_t local_segment,
4361  unsigned int flags,
4362  sci_error_t *error);
4363 
4364 #define SCIUnprepareLocalSegmentForDMA _SISCI_EXPANDE_FUNCTION_NAME(SCIUnprepareLocalSegmentForDMA)
4365 
4397 SISCI_API_EXPORT void
4399  sci_local_segment_t local_segment,
4400  unsigned int flags,
4401  sci_error_t *error);
4402 
4403 #define SCIPrepareRemoteSegmentForDMA _SISCI_EXPANDE_FUNCTION_NAME(SCIPrepareRemoteSegmentForDMA)
4404 
4437 SISCI_API_EXPORT void
4439  sci_remote_segment_t remote_segment,
4440  unsigned int flags,
4441  sci_error_t *error);
4442 
4443 #define SCIUnprepareRemoteSegmentForDMA _SISCI_EXPANDE_FUNCTION_NAME(SCIUnprepareRemoteSegmentForDMA)
4444 
4476 SISCI_API_EXPORT void
4478  sci_remote_segment_t remote_segment,
4479  unsigned int flags,
4480  sci_error_t *error);
4481 
4482 
4483 
4492 #define GetSciMemCopyFunction _SISCI_EXPANDE_FUNCTION_NAME(GetSciMemCopyFunction)
4493 SISCI_API_EXPORT int GetSciMemCopyFunction(unsigned int *functionNo,
4494  char *functionStr);
4495 
4496 #define SetSciMemCopyFunction _SISCI_EXPANDE_FUNCTION_NAME(SetSciMemCopyFunction)
4497 SISCI_API_EXPORT int SetSciMemCopyFunction(unsigned int functionNo);
4498 
4499 #define SCICacheSync _SISCI_EXPANDE_FUNCTION_NAME(SCICacheSync)
4500 
4568 SISCI_API_EXPORT void
4570  void *addr,
4571  size_t length,
4572  unsigned int flags,
4573  sci_error_t *error);
4574 
4575 #define SCIRegisterPCIeRequester _SISCI_EXPANDE_FUNCTION_NAME(SCIRegisterPCIeRequester)
4576 
4613 SISCI_API_EXPORT void SCIRegisterPCIeRequester(sci_desc_t sd,
4614  unsigned int localAdapterNo,
4615  unsigned int bus,
4616  unsigned int devfn,
4617  unsigned int flags,
4618  sci_error_t *error);
4619 
4620 #define SCIUnregisterPCIeRequester _SISCI_EXPANDE_FUNCTION_NAME(SCIUnregisterPCIeRequester)
4621 
4644 SISCI_API_EXPORT void SCIUnregisterPCIeRequester(sci_desc_t sd,
4645  unsigned int localAdapterNo,
4646  unsigned int bus,
4647  unsigned int devfn,
4648  unsigned int flags,
4649  sci_error_t *error);
4650 
4651 
4652 #define SCIBorrowDevice _SISCI_EXPANDE_FUNCTION_NAME(SCIBorrowDevice)
4653 
4692 SISCI_API_EXPORT void SCIBorrowDevice(sci_desc_t sd,
4693  sci_smartio_device_t *device,
4694  unsigned long long fdid,
4695  unsigned int flags,
4696  sci_error_t *error);
4697 
4698 #define SCIReturnDevice _SISCI_EXPANDE_FUNCTION_NAME(SCIReturnDevice)
4699 
4720 SISCI_API_EXPORT void SCIReturnDevice(sci_smartio_device_t device,
4721  unsigned int flags,
4722  sci_error_t *error);
4723 
4724 
4725 #define SCIReleaseExclusiveBorrow _SISCI_EXPANDE_FUNCTION_NAME(SCIReleaseExclusiveBorrow)
4726 
4750 SISCI_API_EXPORT void SCIReleaseExclusiveBorrow(sci_smartio_device_t device,
4751  unsigned int flags,
4752  sci_error_t *error);
4753 
4754 
4755 #define SCIConnectDeviceSegment _SISCI_EXPANDE_FUNCTION_NAME(SCIConnectDeviceSegment)
4756 
4818 SISCI_API_EXPORT void SCIConnectDeviceSegment(sci_smartio_device_t device,
4819  sci_remote_segment_t *segment,
4820  unsigned int segmentId,
4821  unsigned int segmentType,
4822  sci_cb_device_segment_t callback,
4823  void *callbackArg,
4824  unsigned int flags,
4825  sci_error_t *error);
4826 
4827 
4828 #define SCIConnectDeviceSegmentPath _SISCI_EXPANDE_FUNCTION_NAME(SCIConnectDeviceSegmentPath)
4829 
4889 SISCI_API_EXPORT void SCIConnectDeviceSegmentPath(sci_smartio_device_t device,
4890  sci_remote_segment_t *segment,
4891  unsigned int nodeId,
4892  unsigned int segmentId,
4893  unsigned int segmentType,
4894  unsigned int localAdapterNo,
4895  sci_cb_device_segment_t callback,
4896  void *callbackArg,
4897  unsigned int flags,
4898  sci_error_t *error);
4899 
4900 #define SCICreateDeviceSegment _SISCI_EXPANDE_FUNCTION_NAME(SCICreateDeviceSegment)
4901 
5026 SISCI_API_EXPORT void SCICreateDeviceSegment(sci_smartio_device_t device,
5027  unsigned int segmentId,
5028  size_t size,
5029  unsigned int type,
5030  unsigned int accessHints,
5031  unsigned int flags,
5032  sci_error_t *error);
5033 
5034 #define SCIMapLocalSegmentForDevice _SISCI_EXPANDE_FUNCTION_NAME(SCIMapLocalSegmentForDevice)
5035 
5089 SISCI_API_EXPORT void SCIMapLocalSegmentForDevice(sci_local_segment_t segment,
5090  unsigned int localAdapterNo,
5091  sci_smartio_device_t device,
5092  sci_ioaddr_t *remoteAddr,
5093  size_t offset,
5094  size_t size,
5095  sci_cb_device_mapping_t callback,
5096  void *callbackArg,
5097  unsigned int flags,
5098  sci_error_t *error);
5099 
5100 #define SCIUnmapLocalSegmentForDevice _SISCI_EXPANDE_FUNCTION_NAME(SCIUnmapLocalSegmentForDevice)
5101 
5124 SISCI_API_EXPORT void SCIUnmapLocalSegmentForDevice(sci_local_segment_t segment,
5125  unsigned int localAdapterNo,
5126  sci_smartio_device_t device,
5127  unsigned int flags,
5128  sci_error_t *error);
5129 
5130 
5131 
5132 #define SCIMapRemoteSegmentForDevice _SISCI_EXPANDE_FUNCTION_NAME(SCIMapRemoteSegmentForDevice)
5133 
5185 SISCI_API_EXPORT void SCIMapRemoteSegmentForDevice(sci_remote_segment_t segment,
5186  sci_smartio_device_t device,
5187  sci_ioaddr_t *remoteAddr,
5188  size_t offset,
5189  size_t size,
5190  sci_cb_device_mapping_t callback,
5191  void *callbackArg,
5192  unsigned int flags,
5193  sci_error_t *error);
5194 
5195 #define SCIUnmapRemoteSegmentForDevice _SISCI_EXPANDE_FUNCTION_NAME(SCIUnmapRemoteSegmentForDevice)
5196 
5218 SISCI_API_EXPORT void SCIUnmapRemoteSegmentForDevice(sci_remote_segment_t segment,
5219  sci_smartio_device_t device,
5220  unsigned int flags,
5221  sci_error_t *error);
5222 
5223 #define SCIGetDeviceList _SISCI_EXPANDE_FUNCTION_NAME(SCIGetDeviceList)
5224 
5286 SISCI_API_EXPORT size_t SCIGetDeviceList(sci_desc_t sd,
5287  unsigned long long *fdids,
5288  size_t length,
5289  const sci_smartio_device_info_t *filter,
5290  unsigned int flags,
5291  sci_error_t *error);
5292 
5293 
5294 #define SCIGetFabricDeviceId _SISCI_EXPANDE_FUNCTION_NAME(SCIGetFabricDeviceId)
5295 
5305 SISCI_API_EXPORT unsigned long long SCIGetFabricDeviceId(sci_smartio_device_t device);
5306 
5307 
5308 #if defined(CPLUSPLUS) || defined(__cplusplus)
5309 }
5310 #endif
5311 
5312 
5313 #endif
5314 
5315 
5316 
5317 
unsigned int support_io2io
Definition: sisci_api.h:2069
void * data
Definition: sisci_api.h:2041
SISCI_API_EXPORT void SCIStartDmaTransferMem(sci_dma_queue_t dq, void *localAddress, sci_remote_segment_t remoteSegment, size_t size, size_t remoteOffset, sci_cb_dma_t callback, void *callbackArg, unsigned int flags, sci_error_t *error)
#define SCI_Q_DEVICE_INFO
Definition: sisci_api.h:2617
sci_callback_action_t(* sci_cb_remote_segment_t)(void *arg, sci_remote_segment_t segment, sci_segment_cb_reason_t reason, sci_error_t status)
Definition: sisci_types.h:344
SISCI_API_EXPORT void SCIQuery(unsigned int command, void *data, unsigned int flags, sci_error_t *error)
sci_local_segment_t segment
Definition: sisci_api.h:2109
sci_callback_action_t(* sci_cb_interrupt_t)(void *arg, sci_local_interrupt_t interrupt, sci_error_t status)
Definition: sisci_types.h:376
unsigned int subcommand
Definition: sisci_api.h:2123
struct sci_smartio_device * sci_smartio_device_t
Definition: sisci_types.h:142
sci_callback_action_t(* sci_cb_device_segment_t)(void *arg, sci_smartio_device_t device, sci_error_t status)
Definition: sisci_types.h:410
SISCI_API_EXPORT void SCIConnectDeviceSegmentPath(sci_smartio_device_t device, sci_remote_segment_t *segment, unsigned int nodeId, unsigned int segmentId, unsigned int segmentType, unsigned int localAdapterNo, sci_cb_device_segment_t callback, void *callbackArg, unsigned int flags, sci_error_t *error)
sci_remote_segment_t segment
Definition: sisci_api.h:2122
#define SCI_Q_ADAPTER_LINK_UPTIME
Definition: sisci_api.h:2324
unsigned int support_io2mem
Definition: sisci_api.h:2068
SISCI_API_EXPORT void SCIRemoveDMAQueue(sci_dma_queue_t dq, unsigned int flags, sci_error_t *error)
SISCI_API_EXPORT int SCIProbeNode(sci_desc_t sd, unsigned int localAdapterNo, unsigned int nodeId, unsigned int flags, sci_error_t *error)
SISCI_API_EXPORT void SCITriggerDataInterrupt(sci_remote_data_interrupt_t interrupt, void *data, unsigned int length, unsigned int flags, sci_error_t *error)
Definition: sisci_api.h:2121
SISCI_API_EXPORT void SCICreateDMAQueue(sci_desc_t sd, sci_dma_queue_t *dq, unsigned int localAdapterNo, unsigned int maxEntries, unsigned int flags, sci_error_t *error)
SISCI_API_EXPORT void SCIStartDmaTransferVec(sci_dma_queue_t dq, sci_local_segment_t localSegment, sci_remote_segment_t remoteSegment, size_t vecLength, dis_dma_vec_t *disDmaVec, sci_cb_dma_t callback, void *callbackArg, unsigned int flags, sci_error_t *error)
#define SCI_Q_DMA_AVAILABLE
Definition: sisci_api.h:2576
SISCI_API_EXPORT void SCICreateSegment(sci_desc_t sd, sci_local_segment_t *segment, unsigned int segmentId, size_t size, sci_cb_local_segment_t callback, void *callbackArg, unsigned int flags, sci_error_t *error)
SISCI_API_EXPORT void SCIStoreBarrier(sci_sequence_t sequence, unsigned int flags)
SISCI_API_EXPORT unsigned int SCIGetRemoteSegmentNodeId(sci_remote_segment_t segment)
unsigned int localAdapterNo
Definition: sisci_api.h:2082
unsigned int portNo
Definition: sisci_api.h:2039
unsigned int subcommand
Definition: sisci_api.h:2110
sci_ioaddr_t ioaddr
Definition: sisci_api.h:2112
SISCI_API_EXPORT void SCIWaitForDataInterrupt(sci_local_data_interrupt_t interrupt, void *data, unsigned int *length, unsigned int timeout, unsigned int flags, sci_error_t *error)
SISCI_API_EXPORT void SCIDisconnectInterrupt(sci_remote_interrupt_t interrupt, unsigned int flags, sci_error_t *error)
SISCI_API_EXPORT void SCIRegisterPCIeRequester(sci_desc_t sd, unsigned int localAdapterNo, unsigned int bus, unsigned int devfn, unsigned int flags, sci_error_t *error)
SISCI_API_EXPORT void SCIRemoveDataInterrupt(sci_local_data_interrupt_t interrupt, unsigned int flags, sci_error_t *error)
#define SCI_Q_LOCAL_SEGMENT_VIRTUAL_KERNEL_ADDR
Definition: sisci_api.h:2484
struct sci_dma_queue * sci_dma_queue_t
Definition: sisci_types.h:96
Definition: sisci_api.h:2094
SISCI_API_EXPORT void SCIWaitForInterrupt(sci_local_interrupt_t interrupt, unsigned int timeout, unsigned int flags, sci_error_t *error)
SISCI_API_EXPORT unsigned int SCIGetLocalSegmentId(sci_local_segment_t segment)
void * data
Definition: sisci_api.h:2084
#define SCI_Q_LOCAL_SEGMENT_IOADDR
Definition: sisci_api.h:2470
#define SCI_Q_ADAPTER_LINK_OPERATIONAL
Definition: sisci_api.h:2352
SISCI_API_EXPORT void SCIAttachLocalSegment(sci_desc_t sd, sci_local_segment_t *segment, unsigned int segmentId, size_t *size, sci_cb_local_segment_t callback, void *callbackArg, unsigned int flags, sci_error_t *error)
sci_callback_action_t(* sci_cb_local_segment_t)(void *arg, sci_local_segment_t segment, sci_segment_cb_reason_t reason, unsigned int nodeId, unsigned int localAdapterNo, sci_error_t error)
Definition: sisci_types.h:321
Definition: sisci_api.h:2108
SISCI_API_EXPORT sci_segment_cb_reason_t SCIWaitForRemoteSegmentEvent(sci_remote_segment_t segment, sci_error_t *status, unsigned int timeout, unsigned int flags, sci_error_t *error)
#define SCI_Q_REMOTE_SEGMENT
Definition: sisci_api.h:2005
#define SCI_Q_ADAPTER_LINK_DOWNTIME
Definition: sisci_api.h:2338
sci_callback_action_t(* sci_cb_data_interrupt_t)(void *arg, sci_local_data_interrupt_t interrupt, void *data, unsigned int length, sci_error_t status)
Definition: sisci_types.h:394
SISCI_API_EXPORT void SCIReturnDMAChannel(sci_dma_channel_t channel, sci_error_t *error)
SISCI_API_EXPORT void SCICreateDeviceSegment(sci_smartio_device_t device, unsigned int segmentId, size_t size, unsigned int type, unsigned int accessHints, unsigned int flags, sci_error_t *error)
SISCI_API_EXPORT const unsigned int SCI_FLAG_IO_MAP_IOSPACE
struct sci_dma_channel * sci_dma_channel_t
Definition: sisci_types.h:104
unsigned int support_mem2io
Definition: sisci_api.h:2067
unsigned int max_transfer_size
Definition: sisci_api.h:2064
#define SCI_Q_LOCAL_SEGMENT
Definition: sisci_api.h:1993
SISCI_API_EXPORT const unsigned int SCI_FLAG_BROADCAST
SISCI_API_EXPORT sci_dma_queue_state_t SCIDMAQueueState(sci_dma_queue_t dq)
SISCI_API_EXPORT size_t SCIGetLocalSegmentSize(sci_local_segment_t segment)
SISCI_API_EXPORT const unsigned int SCI_FLAG_LOCK_USER_MEM
SISCI_API_EXPORT unsigned long long SCIGetFabricDeviceId(sci_smartio_device_t device)
SISCI_API_EXPORT void SCISetSegmentAvailable(sci_local_segment_t segment, unsigned int localAdapterNo, unsigned int flags, sci_error_t *error)
struct sci_remote_data_interrupt * sci_remote_data_interrupt_t
Definition: sisci_types.h:127
SISCI_API_EXPORT void SCIUnregisterPCIeRequester(sci_desc_t sd, unsigned int localAdapterNo, unsigned int bus, unsigned int devfn, unsigned int flags, sci_error_t *error)
SISCI_API_EXPORT sci_dma_queue_state_t SCIWaitForDMAQueue(sci_dma_queue_t dq, unsigned int timeout, unsigned int flags, sci_error_t *error)
SISCI_API_EXPORT volatile void * SCIGetMapPointer(sci_map_t map)
SISCI_API_EXPORT void SCIStartDmaTransfer(sci_dma_queue_t dq, sci_local_segment_t localSegment, sci_remote_segment_t remoteSegment, size_t localOffset, size_t size, size_t remoteOffset, sci_cb_dma_t callback, void *callbackArg, unsigned int flags, sci_error_t *error)
SISCI_API_EXPORT void SCIUnmapLocalSegmentForDevice(sci_local_segment_t segment, unsigned int localAdapterNo, sci_smartio_device_t device, unsigned int flags, sci_error_t *error)
struct sci_map * sci_map_t
Definition: sisci_types.h:77
sci_segment_cb_reason_t
Definition: sisci_types.h:152
Definition: sisci_api.h:2134
unsigned int subcommand
Definition: sisci_api.h:2136
#define SCI_Q_ADAPTER_NODEID
Definition: sisci_api.h:2185
SISCI_API_EXPORT void SCIFlush(sci_sequence_t sequence, unsigned int flags)
Definition: sisci_api.h:2026
#define SCI_Q_ADAPTER
Definition: sisci_api.h:1945
sci_callback_action_t(* sci_cb_device_mapping_t)(void *arg, sci_smartio_device_t device, sci_error_t status)
Definition: sisci_types.h:424
struct sci_remote_segment * sci_remote_segment_t
Definition: sisci_types.h:69
SISCI_API_EXPORT void SCIRemoveInterrupt(sci_local_interrupt_t interrupt, unsigned int flags, sci_error_t *error)
void * data
Definition: sisci_api.h:2097
SISCI_API_EXPORT const unsigned int SCI_FLAG_EXCLUSIVE
unsigned int subcommand
Definition: sisci_api.h:2052
#define SCI_Q_ADAPTER_DMA_MTU
Definition: sisci_api.h:2165
#define SCI_Q_ADAPTER_LINK_WIDTH
Definition: sisci_api.h:2296
SISCI_API_EXPORT void SCIUnmapSegment(sci_map_t map, unsigned int flags, sci_error_t *error)
SISCI_API_EXPORT void SCIOpen(sci_desc_t *sd, unsigned int flags, sci_error_t *error)
SISCI_API_EXPORT void SCIPrepareLocalSegmentForDMA(sci_dma_channel_t channel, sci_local_segment_t local_segment, unsigned int flags, sci_error_t *error)
SISCI_API_EXPORT void SCIMapLocalSegmentForDevice(sci_local_segment_t segment, unsigned int localAdapterNo, sci_smartio_device_t device, sci_ioaddr_t *remoteAddr, size_t offset, size_t size, sci_cb_device_mapping_t callback, void *callbackArg, unsigned int flags, sci_error_t *error)
SISCI_API_EXPORT void SCIShareSegment(sci_local_segment_t segment, unsigned int flags, sci_error_t *error)
Definition: sisci_types.h:229
Definition: sisci_api.h:2037
unsigned int subcommand
Definition: sisci_api.h:2083
Definition: sisci_api.h:2061
#define SCI_Q_ADAPTER_LINK_CABLE_INSERTED
Definition: sisci_api.h:2366
SISCI_API_EXPORT void SCISetSegmentUnavailable(sci_local_segment_t segment, unsigned int localAdapterNo, unsigned int flags, sci_error_t *error)
SISCI_API_EXPORT void SCIReturnDevice(sci_smartio_device_t device, unsigned int flags, sci_error_t *error)
unsigned int num_channels
Definition: sisci_api.h:2062
#define SCI_FLAG_DMA_ADAPTER
Definition: sisci_api.h:192
#define SCI_Q_DEVICE
Definition: sisci_api.h:1981
SISCI_API_EXPORT volatile void * SCIMapRemoteSegment(sci_remote_segment_t segment, sci_map_t *map, size_t offset, size_t size, void *addr, unsigned int flags, sci_error_t *error)
Definition: sisci_types.h:218
struct sci_local_interrupt * sci_local_interrupt_t
Definition: sisci_types.h:119
#define SCI_Q_DMA_CAPABILITIES
Definition: sisci_api.h:2597
SISCI_API_EXPORT void SCICreateInterrupt(sci_desc_t sd, sci_local_interrupt_t *interrupt, unsigned int localAdapterNo, unsigned int *interruptNo, sci_cb_interrupt_t callback, void *callbackArg, unsigned int flags, sci_error_t *error)
#define SCI_Q_ADAPTER_CARD_TYPE
Definition: sisci_api.h:2214
SISCI_API_EXPORT void SCIGetLocalNodeId(unsigned int adapterNo, unsigned int *nodeId, unsigned int flags, sci_error_t *error)
SISCI_API_EXPORT void SCIAbortDMAQueue(sci_dma_queue_t dq, unsigned int flags, sci_error_t *error)
SISCI_API_EXPORT sci_ioaddr_t SCIGetMapPhysAddr(sci_map_t map)
#define SCI_Q_SISCI_DRIVER_VERSION
Definition: sisci_api.h:1931
sci_map_t map
Definition: sisci_api.h:2135
SISCI_API_EXPORT void SCIDisconnectSegment(sci_remote_segment_t segment, unsigned int flags, sci_error_t *error)
unsigned int min_align_bytes
Definition: sisci_api.h:2072
SISCI_API_EXPORT void SCIInitialize(unsigned int flags, sci_error_t *error)
SISCI_API_EXPORT void SCIPrepareSegment(sci_local_segment_t segment, unsigned int localAdapterNo, unsigned int flags, sci_error_t *error)
sci_sequence_status_t
Definition: sisci_types.h:259
#define SCI_Q_ADAPTER_SERIAL_NUMBER
Definition: sisci_api.h:2199
SISCI_API_EXPORT unsigned int SCIGetRemoteSegmentId(sci_remote_segment_t segment)
SISCI_API_EXPORT void SCIMemWrite(void *memAddr, volatile void *remoteAddr, size_t size, unsigned int flags, sci_error_t *error)
SISCI_API_EXPORT size_t SCIGetDeviceList(sci_desc_t sd, unsigned long long *fdids, size_t length, const sci_smartio_device_info_t *filter, unsigned int flags, sci_error_t *error)
SISCI_API_EXPORT sci_segment_cb_reason_t SCIWaitForLocalSegmentEvent(sci_local_segment_t segment, unsigned int *sourcenodeId, unsigned int *localAdapterNo, unsigned int timeout, unsigned int flags, sci_error_t *error)
SISCI_API_EXPORT size_t SCIGetRemoteSegmentSize(sci_remote_segment_t segment)
SISCI_API_EXPORT void SCIUnmapRemoteSegmentForDevice(sci_remote_segment_t segment, sci_smartio_device_t device, unsigned int flags, sci_error_t *error)
#define SCI_Q_ADAPTER_MCAST_MAX_GROUPS
Definition: sisci_api.h:2426
struct sci_local_data_interrupt * sci_local_data_interrupt_t
Definition: sisci_types.h:135
#define SCI_Q_VENDORID
Definition: sisci_api.h:1913
#define SCI_FLAG_DMA_SYSDMA
Definition: sisci_api.h:188
#define SCI_Q_ADAPTER_LINK_PARTNER_PORT_NO
Definition: sisci_api.h:2395
struct sci_local_segment * sci_local_segment_t
Definition: sisci_types.h:63
#define SCI_Q_ADAPTER_NUMBER_OF_LINKS
Definition: sisci_api.h:2409
unsigned long long data
Definition: sisci_api.h:2137
SISCI_API_EXPORT const char * SCIGetErrorString(sci_error_t error)
SISCI_API_EXPORT void SCIConnectSegment(sci_desc_t sd, sci_remote_segment_t *segment, unsigned int nodeId, unsigned int segmentId, unsigned int localAdapterNo, sci_cb_remote_segment_t callback, void *callbackArg, unsigned int timeout, unsigned int flags, sci_error_t *error)
#define SCI_Q_LOCAL_SEGMENT_PHYS_ADDR
Definition: sisci_api.h:2498
SISCI_API_EXPORT void SCIGetNodeInfoByAdapterName(char *adaptername, unsigned int *adapterNo, dis_nodeId_list_t *nodeIdlist, dis_adapter_type_t *type, unsigned int flags, sci_error_t *error)
unsigned long long fdid
Definition: sisci_api.h:2095
#define SCI_Q_ADAPTER_LINK_ENABLED
Definition: sisci_api.h:2381
SISCI_API_EXPORT void SCIMemCpy(sci_sequence_t sequence, void *memAddr, sci_map_t remoteMap, size_t remoteOffset, size_t size, unsigned int flags, sci_error_t *error)
SISCI_API_EXPORT void SCIBorrowDevice(sci_desc_t sd, sci_smartio_device_t *device, unsigned long long fdid, unsigned int flags, sci_error_t *error)
unsigned int subcommand
Definition: sisci_api.h:2096
Definition: sisci_types.h:276
struct sci_remote_interrupt * sci_remote_interrupt_t
Definition: sisci_types.h:111
void * data
Definition: sisci_api.h:2053
SISCI_API_EXPORT void SCIPrepareRemoteSegmentForDMA(sci_dma_channel_t channel, sci_remote_segment_t remote_segment, unsigned int flags, sci_error_t *error)
#define SCI_Q_SYSTEM_CPU_CACHE_LINE_SIZE
Definition: sisci_api.h:2447
SISCI_API_EXPORT void SCITriggerInterrupt(sci_remote_interrupt_t interrupt, unsigned int flags, sci_error_t *error)
SISCI_API_EXPORT void SCICreateDataInterrupt(sci_desc_t sd, sci_local_data_interrupt_t *interrupt, unsigned int localAdapterNo, unsigned int *interruptNo, sci_cb_data_interrupt_t callback, void *callbackArg, unsigned int flags, sci_error_t *error)
SISCI_API_EXPORT void SCIAssignDMAChannel(sci_dma_channel_t channel, sci_dma_queue_t dq, unsigned int flags, sci_error_t *error)
SISCI_API_EXPORT void SCIReleaseExclusiveBorrow(sci_smartio_device_t device, unsigned int flags, sci_error_t *error)
unsigned int subcommand
Definition: sisci_api.h:2040
unsigned int max_vector_length
Definition: sisci_api.h:2065
SISCI_API_EXPORT void SCIGetNodeIdByAdapterName(char *adaptername, dis_nodeId_list_t *nodeId, dis_adapter_type_t *type, unsigned int flags, sci_error_t *error)
Definition: sisci_api.h:2051
SISCI_API_EXPORT void SCIClose(sci_desc_t sd, unsigned int flags, sci_error_t *error)
struct sci_sequence * sci_sequence_t
Definition: sisci_types.h:86
sci_error_t
The type sci_error_t represents the error code.
Definition: sisci_error.h:48
SISCI_API_EXPORT sci_dma_type_t SCIGetDMAChannelType(sci_dma_channel_t channel)
SISCI_API_EXPORT void SCIRemoveSequence(sci_sequence_t sequence, unsigned int flags, sci_error_t *error)
Definition: sisci_api.h:2081
#define SCI_Q_ADAPTER_LINK_SPEED
Definition: sisci_api.h:2310
SISCI_API_EXPORT void * SCIMapLocalSegment(sci_local_segment_t segment, sci_map_t *map, size_t offset, size_t size, void *addr, unsigned int flags, sci_error_t *error)
SISCI_API_EXPORT void SCIMapRemoteSegmentForDevice(sci_remote_segment_t segment, sci_smartio_device_t device, sci_ioaddr_t *remoteAddr, size_t offset, size_t size, sci_cb_device_mapping_t callback, void *callbackArg, unsigned int flags, sci_error_t *error)
unsigned int suggested_align_bytes
Definition: sisci_api.h:2073
struct sci_desc * sci_desc_t
Definition: sisci_types.h:55
unsigned int length
Definition: sisci_api.h:2029
SISCI_API_EXPORT void SCICreateMapSequence(sci_map_t map, sci_sequence_t *sequence, unsigned int flags, sci_error_t *error)
#define SCI_FLAG_DMA_GLOBAL
Definition: sisci_api.h:181
SISCI_API_EXPORT void SCITerminate(void)
sci_callback_action_t(* sci_cb_dma_t)(void IN *arg, sci_dma_queue_t queue, sci_error_t status)
Definition: sisci_types.h:360
#define SCI_Q_REMOTE_SEGMENT_IOADDR
Definition: sisci_api.h:2514
SISCI_API_EXPORT void SCIConnectDataInterrupt(sci_desc_t sd, sci_remote_data_interrupt_t *interrupt, unsigned int nodeId, unsigned int localAdapterNo, unsigned int interruptNo, unsigned int timeout, unsigned int flags, sci_error_t *error)
SISCI_API_EXPORT sci_sequence_status_t SCICheckSequence(sci_sequence_t sequence, unsigned int flags, sci_error_t *error)
#define SCI_Q_MAP_QUERY_REMOTE_MAPPED_TO_LOCAL_TARGET
Definition: sisci_api.h:2540
sci_ioaddr_t ioaddr
Definition: sisci_api.h:2125
SISCI_API_EXPORT void SCIUnprepareRemoteSegmentForDMA(sci_dma_channel_t channel, sci_remote_segment_t remote_segment, unsigned int flags, sci_error_t *error)
SISCI_API_EXPORT void SCICacheSync(sci_map_t map, void *addr, size_t length, unsigned int flags, sci_error_t *error)
sci_dma_queue_state_t
Definition: sisci_types.h:194
#define SCI_Q_API
Definition: sisci_api.h:1922
SISCI_API_EXPORT void SCIConnectDeviceSegment(sci_smartio_device_t device, sci_remote_segment_t *segment, unsigned int segmentId, unsigned int segmentType, sci_cb_device_segment_t callback, void *callbackArg, unsigned int flags, sci_error_t *error)
SISCI_API_EXPORT void SCIAttachPhysicalMemory(sci_ioaddr_t ioaddress, void *address, unsigned int busNo, size_t size, sci_local_segment_t segment, unsigned int flags, sci_error_t *error)
SISCI_API_EXPORT const unsigned int SCI_Q_MAP
char * str
Definition: sisci_api.h:2027
SISCI_API_EXPORT const unsigned int SCI_LOCAL_HOST
SISCI_API_EXPORT void SCIRequestDMAChannel(sci_desc_t sd, sci_dma_channel_t *channel, unsigned int localAdapterNo, sci_dma_type_t type, unsigned int channelId, unsigned int flags, sci_error_t *error)
SISCI_API_EXPORT void SCIDisconnectDataInterrupt(sci_remote_data_interrupt_t interrupt, unsigned int flags, sci_error_t *error)
SISCI_API_EXPORT void SCIUnprepareLocalSegmentForDMA(sci_dma_channel_t channel, sci_local_segment_t local_segment, unsigned int flags, sci_error_t *error)
SISCI_API_EXPORT void SCIConnectInterrupt(sci_desc_t sd, sci_remote_interrupt_t *interrupt, unsigned int nodeId, unsigned int localAdapterNo, unsigned int interruptNo, unsigned int timeout, unsigned int flags, sci_error_t *error)
SISCI_API_EXPORT const unsigned int DIS_BROADCAST_NODEID_GROUP_ALL
SISCI_API_EXPORT void SCIRemoveSegment(sci_local_segment_t segment, unsigned int flags, sci_error_t *error)
SISCI_API_EXPORT void SCIRegisterSegmentMemory(void *address, size_t size, sci_local_segment_t segment, unsigned int flags, sci_error_t *error)
#define SCI_Q_ADAPTER_CONFIGURED
Definition: sisci_api.h:2234
unsigned int localAdapterNo
Definition: sisci_api.h:2038
SISCI_API_EXPORT sci_sequence_status_t SCIStartSequence(sci_sequence_t sequence, unsigned int flags, sci_error_t *error)
#define SCI_Q_SYSTEM
Definition: sisci_api.h:1957
#define SCI_Q_DMA
Definition: sisci_api.h:1969