Main Page | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

vipl.h

Go to the documentation of this file.
00001 /********************************************************
00002  * Myricom VI-GM  networking software and documentation *
00003  * Copyright (c) 2001 by Myricom, Inc.                  *
00004  * All rights reserved.                                 *
00005  * See the file `COPYING' for copyright notice.         *
00006  ********************************************************/
00007 
00008 #ifndef __VIPL
00009 #define __VIPL
00010 
00017 #include "gm.h"
00018 
00019 
00020 /********************************************************
00021  *                                                      *
00022  *                    VIPL Constants                    *
00023  *                                                      *
00024  ********************************************************/
00025 
00027 #define IN
00028 
00029 #define OUT
00030 
00032 #define VIP_FALSE (0)
00033 
00034 #define VIP_TRUE (1)
00035 
00037 #define VIP_INFINITE (~(VIP_ULONG) 0)
00038 
00044 #define VIP_SMI_AUTODISCOVERY ((VIP_ULONG) 1)
00045 
00046 #define VIP_DESCRIPTOR_ALIGNMENT 64
00047 
00048 
00049 /* Reliability level values */
00051 #define VIP_SERVICE_UNRELIABLE          0x01
00052 
00053 #define VIP_SERVICE_RELIABLE_DELIVERY   0x02
00054 
00055 #define VIP_SERVICE_RELIABLE_RECEPTION  0x04
00056 
00057 
00058 /* Descriptor Control field */
00060 #define VIP_CONTROL_OP_SENDRECV         0x0000
00061 
00062 #define VIP_CONTROL_OP_RDMAWRITE        0x0001
00063 
00064 #define VIP_CONTROL_OP_RDMAREAD         0x0002
00065 
00066 #define VIP_CONTROL_OP_RESERVED         0x0003
00067 
00068 #define VIP_CONTROL_OP_MASK             0x0003
00069 
00070 #define VIP_CONTROL_IMMEDIATE           0x0004
00071 
00072 #define VIP_CONTROL_QFENCE              0x0008
00073 
00074 #define VIP_CONTROL_RESERVED            0xFFF0
00075 
00076 
00077 /* Descriptor Status field */
00079 #define VIP_STATUS_DONE                 0x00000001
00080 
00081 #define VIP_STATUS_FORMAT_ERROR         0x00000002
00082 
00083 #define VIP_STATUS_PROTECTION_ERROR     0x00000004
00084 
00085 #define VIP_STATUS_LENGTH_ERROR         0x00000008
00086 
00087 #define VIP_STATUS_PARTIAL_ERROR        0x00000010
00088 
00089 #define VIP_STATUS_DESC_FLUSHED_ERROR   0x00000020
00090 
00091 #define VIP_STATUS_TRANSPORT_ERROR      0x00000040
00092 
00093 #define VIP_STATUS_RDMA_PROT_ERROR      0x00000080
00094 
00095 #define VIP_STATUS_REMOTE_DESC_ERROR    0x00000100
00096 
00097 #define VIP_STATUS_ERROR_MASK           0x000001FE
00098 
00099 #define VIP_STATUS_OP_SEND              0x00000000
00100 
00101 #define VIP_STATUS_OP_RECEIVE           0x00010000
00102 
00103 #define VIP_STATUS_OP_RDMA_WRITE        0x00020000
00104 
00105 #define VIP_STATUS_OP_REMOTE_RDMA_WRITE 0x00030000
00106 
00107 #define VIP_STATUS_OP_RDMA_READ         0x00040000
00108 
00109 #define VIP_STATUS_OP_MASK              0x00070000
00110 
00111 #define VIP_STATUS_IMMEDIATE            0x00080000
00112 
00113 #define VIP_STATUS_RESERVED             0xFFF0FE00
00114 
00115 
00116 
00117 /********************************************************
00118  *                                                      *
00119  *                    VIPL Data Types                   *
00120  *                                                      *
00121  ********************************************************/
00122 
00123 
00124 /* Generic types for portability */
00126 typedef void *VIP_PVOID;
00128 typedef int VIP_BOOLEAN;
00130 typedef char VIP_CHAR;
00132 typedef unsigned char VIP_UCHAR;
00134 typedef unsigned short VIP_USHORT;
00136 typedef unsigned long VIP_ULONG;
00137 
00138 /* GM specific types */
00140 typedef gm_u8_t VIP_UINT8;
00142 typedef gm_u16_t VIP_UINT16;
00144 typedef gm_u32_t VIP_UINT32;
00146 typedef gm_u64_t VIP_UINT64;
00147 
00148 
00149 /* Handles for opaque objects */
00151 typedef VIP_PVOID VIP_NIC_HANDLE;
00153 typedef VIP_PVOID VIP_VI_HANDLE;
00155 typedef VIP_PVOID VIP_PROTECTION_HANDLE;
00157 typedef VIP_PVOID VIP_CONN_HANDLE;
00159 typedef VIP_PVOID VIP_CQ_HANDLE;
00160 
00161 
00162 /* Misc */
00166 typedef VIP_UINT32 VIP_MEM_HANDLE;
00168 typedef VIP_PVOID VIP_QOS;
00169 
00170 
00172 typedef struct VIP_NET_ADDRESS
00173 {
00175   VIP_UINT16 HostAddressLen;
00177   VIP_UINT16 DiscriminatorLen;
00179   VIP_UINT8 HostAddress[1];
00180 }
00181 VIP_NET_ADDRESS;
00182 
00183 
00185 typedef VIP_USHORT VIP_RELIABILITY_LEVEL;
00186 
00188 typedef struct VIP_NIC_ATTRIBUTES
00189 {
00191   VIP_CHAR Name[64];
00193   VIP_ULONG HardwareVersion;
00195   VIP_ULONG ProviderVersion;
00197   VIP_UINT16 NicAddressLen;
00199   const VIP_UINT8 *LocalNicAddress;
00201   VIP_BOOLEAN ThreadSafe;
00206   VIP_UINT16 MaxDiscriminatorLen;
00208   VIP_ULONG MaxRegisterBytes;
00210   VIP_ULONG MaxRegisterRegions;
00212   VIP_ULONG MaxRegisterBlockBytes;
00214   VIP_ULONG MaxVI;
00216   VIP_ULONG MaxDescriptorsPerQueue;
00219   VIP_ULONG MaxSegmentsPerDesc;
00221   VIP_ULONG MaxCQ;
00224   VIP_ULONG MaxCQEntries;
00226   VIP_ULONG MaxTransferSize;
00228   VIP_ULONG NativeMTU;
00230   VIP_ULONG MaxPtags;
00232   VIP_RELIABILITY_LEVEL ReliabilityLevelSupport;
00234   VIP_RELIABILITY_LEVEL RDMAReadSupport;
00235 }
00236 VIP_NIC_ATTRIBUTES;
00237 
00238 
00240 typedef union VIP_PVOID64
00241 {
00243   VIP_UINT64 AddressBits;
00245   VIP_PVOID Address;
00246 }
00247 VIP_PVOID64;
00248 
00249 
00251 typedef struct VIP_CONTROL_SEGMENT
00252 {
00254   VIP_PVOID64 Next;
00256   VIP_MEM_HANDLE NextHandle;
00258   VIP_UINT16 SegCount;
00260   VIP_UINT16 Control;
00262   VIP_UINT32 Reserved;
00264   VIP_UINT32 ImmediateData;
00266   VIP_UINT32 Length;
00268   VIP_UINT32 Status;
00269 }
00270 VIP_CONTROL_SEGMENT;
00271 
00272 
00274 typedef struct VIP_ADDRESS_SEGMENT
00275 {
00277   VIP_PVOID64 Data;
00279   VIP_MEM_HANDLE Handle;
00281   VIP_UINT32 Reserved;
00282 }
00283 VIP_ADDRESS_SEGMENT;
00284 
00285 
00287 typedef struct VIP_DATA_SEGMENT
00288 {
00290   VIP_PVOID64 Data;
00292   VIP_MEM_HANDLE Handle;
00294   VIP_UINT32 Length;
00295 }
00296 VIP_DATA_SEGMENT;
00297 
00298 
00300 typedef union VIP_DESCRIPTOR_SEGMENT
00301 {
00303   VIP_ADDRESS_SEGMENT Remote;
00305   VIP_DATA_SEGMENT Local;
00306 }
00307 VIP_DESCRIPTOR_SEGMENT;
00308 
00309 
00311 typedef struct VIP_DESCRIPTOR
00312 {
00314   VIP_CONTROL_SEGMENT CS;
00316   VIP_DESCRIPTOR_SEGMENT DS[2];
00317 }
00318 VIP_DESCRIPTOR;
00319 
00320 
00322 typedef enum VIP_VI_STATE
00323 {
00325   VIP_STATE_IDLE,
00327   VIP_STATE_CONNECTED,
00329   VIP_STATE_CONNECT_PENDING,
00331   VIP_STATE_ERROR
00332 }
00333 VIP_VI_STATE;
00334 
00335 
00337 typedef struct VIP_VI_ATTRIBUTES
00338 {
00340   VIP_RELIABILITY_LEVEL ReliabilityLevel;
00342   VIP_ULONG MaxTransferSize;
00344   VIP_QOS QoS;
00346   VIP_PROTECTION_HANDLE Ptag;
00349   VIP_BOOLEAN EnableRdmaWrite;
00352   VIP_BOOLEAN EnableRdmaRead;
00353 }
00354 VIP_VI_ATTRIBUTES;
00355 
00356 
00358 typedef struct VIP_MEM_ATTRIBUTES
00359 {
00361   VIP_PROTECTION_HANDLE Ptag;
00364   VIP_BOOLEAN EnableRdmaWrite;
00367   VIP_BOOLEAN EnableRdmaRead;
00368 }
00369 VIP_MEM_ATTRIBUTES;
00370 
00371 
00373 typedef struct
00374 {
00376   VIP_ULONG NumberOfHops;
00379   VIP_NET_ADDRESS **ADAddrArray;
00381   VIP_ULONG NumAdAddrs;
00382 }
00383 VIP_AUTODISCOVERY_LIST;
00384 
00385 
00387 typedef enum VIP_ERROR_CODE
00388 {
00393   VIP_ERROR_POST_DESC,
00396   VIP_ERROR_CONN_LOST,
00398   VIP_ERROR_RECVQ_EMPTY,
00401   VIP_ERROR_VI_OVERRUN,
00403   VIP_ERROR_RDMAW_PROT,
00406   VIP_ERROR_RDMAW_DATA,
00408   VIP_ERROR_RDMAW_ABORT,
00410   VIP_ERROR_RDMAR_PROT,
00413   VIP_ERROR_COMP_PROT,
00415   VIP_ERROR_RDMA_TRANSPORT,
00417   VIP_ERROR_CATASTROPHIC
00418 }
00419 VIP_ERROR_CODE;
00420 
00421 
00423 typedef enum VIP_RESOURCE_CODE
00424 {
00425   VIP_RESOURCE_NIC,
00426   VIP_RESOURCE_VI,
00427   VIP_RESOURCE_CQ,
00428   VIP_RESOURCE_DESCRIPTOR
00429 }
00430 VIP_RESOURCE_CODE;
00431 
00432 
00434 typedef struct VIP_ERROR_DESCRIPTOR
00435 {
00437   VIP_NIC_HANDLE NicHandle;
00439   VIP_VI_HANDLE ViHandle;
00441   VIP_CQ_HANDLE CQHandle;
00443   VIP_DESCRIPTOR *DescriptorPtr;
00445   VIP_ULONG OpCode;
00448   VIP_RESOURCE_CODE ResourceCode;
00450   VIP_ERROR_CODE ErrorCode;
00451 }
00452 VIP_ERROR_DESCRIPTOR;
00453 
00454 
00455 /* Functions return codes */
00457 enum VIP_RETURN
00458 {
00460   VIP_SUCCESS,
00462   VIP_NOT_DONE,
00464   VIP_INVALID_PARAMETER,
00466   VIP_ERROR_RESOURCE,
00468   VIP_TIMEOUT,
00470   VIP_REJECT,
00472   VIP_INVALID_RELIABILITY_LEVEL,
00475   VIP_INVALID_MTU,
00478   VIP_INVALID_QOS,
00480   VIP_INVALID_PTAG,
00483   VIP_INVALID_RDMAREAD,
00486   VIP_DESCRIPTOR_ERROR,
00488   VIP_INVALID_STATE,
00491   VIP_ERROR_NAMESERVICE,
00493   VIP_NO_MATCH,
00496   VIP_NOT_REACHABLE
00497 };
00498 
00500 typedef enum VIP_RETURN VIP_RETURN;
00501 
00502 
00503 /********************************************************
00504  *                                                      *
00505  *                    VIPL prototypes                   *
00506  *                                                      *
00507  ********************************************************/
00508 
00509 #ifndef WIN32
00510 
00511 #  define VIP_ENTRY_POINT
00512 #else
00513 #  ifdef VIP_BUILD_DLL
00514 
00515 #    define VIP_ENTRY_POINT __declspec (dllexport)
00516 #  else
00517 
00518 #    define VIP_ENTRY_POINT __declspec (dllimport)
00519 #  endif
00520 #endif
00521 
00523 VIP_ENTRY_POINT extern VIP_RETURN
00524 VipOpenNic (IN const VIP_CHAR * DeviceName, 
00525             OUT VIP_NIC_HANDLE * NicHandle);
00526 
00528 VIP_ENTRY_POINT extern VIP_RETURN 
00529 VipCloseNic (IN VIP_NIC_HANDLE NicHandle);
00530 
00532 VIP_ENTRY_POINT extern VIP_RETURN
00533 VipCreateVi (IN VIP_NIC_HANDLE NicHandle,
00534              IN VIP_VI_ATTRIBUTES * ViAttribs,
00535              IN VIP_CQ_HANDLE SendCQHandle,
00536              IN VIP_CQ_HANDLE RecvCQHandle, 
00537              OUT VIP_VI_HANDLE * ViHandle);
00538 
00540 VIP_ENTRY_POINT extern VIP_RETURN
00541 VipDestroyVi (IN VIP_VI_HANDLE ViHandle);
00542 
00545 VIP_ENTRY_POINT extern VIP_RETURN
00546 VipConnectWait (IN VIP_NIC_HANDLE NicHandle,
00547                 IN VIP_NET_ADDRESS * LocalAddr,
00548                 IN VIP_ULONG Timeout,
00549                 OUT VIP_NET_ADDRESS * RemoteAddr,
00550                 OUT VIP_VI_ATTRIBUTES * RemoteViAttribs,
00551                 OUT VIP_CONN_HANDLE * ConnHandle);
00552 
00555 VIP_ENTRY_POINT extern VIP_RETURN
00556 VipConnectAccept (IN VIP_CONN_HANDLE ConnHandle, 
00557                   IN VIP_VI_HANDLE ViHandle);
00558 
00560 VIP_ENTRY_POINT extern VIP_RETURN 
00561 VipConnectReject (IN VIP_CONN_HANDLE ConnHandle);
00562 
00565 VIP_ENTRY_POINT extern VIP_RETURN
00566 VipConnectRequest (IN VIP_VI_HANDLE ViHandle,
00567                    IN VIP_NET_ADDRESS * LocalAddr,
00568                    IN VIP_NET_ADDRESS * RemoteAddr,
00569                    IN VIP_ULONG Timeout,
00570                    OUT VIP_VI_ATTRIBUTES * RemoteViAttribs);
00571 
00573 VIP_ENTRY_POINT extern VIP_RETURN 
00574 VipDisconnect (IN VIP_VI_HANDLE ViHandle);
00575 
00577 VIP_ENTRY_POINT extern VIP_RETURN
00578 VipCreatePtag (IN VIP_NIC_HANDLE NicHandle, 
00579                OUT VIP_PROTECTION_HANDLE * Ptag);
00580 
00582 VIP_ENTRY_POINT extern VIP_RETURN
00583 VipDestroyPtag (IN VIP_NIC_HANDLE NicHandle, 
00584                 IN VIP_PROTECTION_HANDLE Ptag);
00585 
00588 VIP_ENTRY_POINT extern VIP_RETURN
00589 VipRegisterMem (IN VIP_NIC_HANDLE NicHandle,
00590                 IN VIP_PVOID VirtualAddress,
00591                 IN VIP_ULONG Length,
00592                 IN VIP_MEM_ATTRIBUTES * MemAttribs,
00593                 OUT VIP_MEM_HANDLE * MemoryHandle);
00594 
00597 VIP_ENTRY_POINT extern VIP_RETURN
00598 VipDeregisterMem (IN VIP_NIC_HANDLE NicHandle,
00599                   IN VIP_PVOID VirtualAddress,
00600                   IN VIP_MEM_HANDLE MemoryHandle);
00601 
00604 VIP_ENTRY_POINT extern VIP_RETURN
00605 VipPostSend (IN VIP_VI_HANDLE ViHandle,
00606              IN VIP_DESCRIPTOR * DescriptorPtr,
00607              IN VIP_MEM_HANDLE MemoryHandle);
00608 
00611 VIP_ENTRY_POINT extern VIP_RETURN
00612 VipSendDone (IN VIP_VI_HANDLE ViHandle, 
00613              OUT VIP_DESCRIPTOR ** DescriptorPtr);
00614 
00617 VIP_ENTRY_POINT extern VIP_RETURN
00618 VipSendWait (IN VIP_VI_HANDLE ViHandle,
00619              IN VIP_ULONG Timeout, 
00620              OUT VIP_DESCRIPTOR ** DescriptorPtr);
00621 
00624 VIP_ENTRY_POINT extern VIP_RETURN
00625 VipPostRecv (IN VIP_VI_HANDLE ViHandle,
00626              IN VIP_DESCRIPTOR * DescriptorPtr,
00627              IN VIP_MEM_HANDLE MemoryHandle);
00628 
00631 VIP_ENTRY_POINT extern VIP_RETURN
00632 VipRecvDone (IN VIP_VI_HANDLE ViHandle, 
00633              OUT VIP_DESCRIPTOR ** DescriptorPtr);
00634 
00637 VIP_ENTRY_POINT extern VIP_RETURN
00638 VipRecvWait (IN VIP_VI_HANDLE ViHandle,
00639              IN VIP_ULONG Timeout, 
00640              OUT VIP_DESCRIPTOR ** DescriptorPtr);
00641 
00644 VIP_ENTRY_POINT extern VIP_RETURN
00645 VipCQDone (IN VIP_CQ_HANDLE CQHandle,
00646            OUT VIP_VI_HANDLE * ViHandle, 
00647            OUT VIP_BOOLEAN * RecvQueue);
00648 
00651 VIP_ENTRY_POINT extern VIP_RETURN
00652 VipCQWait (IN VIP_CQ_HANDLE CQHandle,
00653            IN VIP_ULONG Timeout,
00654            OUT VIP_VI_HANDLE * ViHandle, 
00655            OUT VIP_BOOLEAN * RecvQueue);
00656 
00659 VIP_ENTRY_POINT extern VIP_RETURN
00660 VipSendNotify (IN VIP_VI_HANDLE ViHandle,
00661                IN VIP_PVOID Context,
00662                IN void (*Handler) (IN VIP_PVOID Context,
00663                                    IN VIP_NIC_HANDLE NicHandle,
00664                                    IN VIP_VI_HANDLE ViHandle,
00665                                    IN VIP_DESCRIPTOR * DescriptorPtr));
00666 
00669 VIP_ENTRY_POINT extern VIP_RETURN
00670 VipRecvNotify (IN VIP_VI_HANDLE ViHandle,
00671                IN VIP_PVOID Context,
00672                IN void (*Handler) (IN VIP_PVOID Context,
00673                                    IN VIP_NIC_HANDLE NicHandle,
00674                                    IN VIP_VI_HANDLE ViHandle,
00675                                    IN VIP_DESCRIPTOR * DescriptorPtr));
00676 
00679 VIP_ENTRY_POINT extern VIP_RETURN
00680 VipCQNotify (IN VIP_CQ_HANDLE CQHandle,
00681              IN VIP_PVOID Context,
00682              IN void (*Handler) (IN VIP_PVOID Context,
00683                                  IN VIP_NIC_HANDLE NicHandle,
00684                                  IN VIP_VI_HANDLE ViHandle,
00685                                  IN VIP_BOOLEAN RecvQueue));
00686 
00688 VIP_ENTRY_POINT extern VIP_RETURN
00689 VipCreateCQ (IN VIP_NIC_HANDLE NicHandle,
00690              IN VIP_ULONG EntryCount, OUT VIP_CQ_HANDLE * CQHandle);
00691 
00693 VIP_ENTRY_POINT extern VIP_RETURN
00694 VipDestroyCQ (IN VIP_CQ_HANDLE CQHandle);
00695 
00697 VIP_ENTRY_POINT extern VIP_RETURN
00698 VipResizeCQ (IN VIP_CQ_HANDLE CQHandle, IN VIP_ULONG EntryCount);
00699 
00701 VIP_ENTRY_POINT extern VIP_RETURN
00702 VipQueryNic (IN VIP_NIC_HANDLE NicHandle,
00703              OUT VIP_NIC_ATTRIBUTES * NicAttribs);
00704 
00706 VIP_ENTRY_POINT extern VIP_RETURN
00707 VipSetViAttributes (IN VIP_VI_HANDLE ViHandle,
00708                     IN VIP_VI_ATTRIBUTES * ViAttribs);
00709 
00711 VIP_ENTRY_POINT extern VIP_RETURN
00712 VipQueryVi (IN VIP_VI_HANDLE ViHandle,
00713             OUT VIP_VI_STATE * State,
00714             OUT VIP_VI_ATTRIBUTES * ViAttribs,
00715             OUT VIP_BOOLEAN * ViSendQEmpty, 
00716             OUT VIP_BOOLEAN * ViRecvQEmpty);
00717 
00719 VIP_ENTRY_POINT extern VIP_RETURN
00720 VipSetMemAttributes (IN VIP_NIC_HANDLE NicHandle,
00721                      IN VIP_PVOID Address,
00722                      IN VIP_MEM_HANDLE MemHandle,
00723                      IN VIP_MEM_ATTRIBUTES * MemAttribs);
00724 
00726 VIP_ENTRY_POINT extern VIP_RETURN
00727 VipQueryMem (IN VIP_NIC_HANDLE NicHandle,
00728              IN VIP_PVOID Address,
00729              IN VIP_MEM_HANDLE MemHandle,
00730              OUT VIP_MEM_ATTRIBUTES * MemAttribs);
00731 
00734 VIP_ENTRY_POINT extern VIP_RETURN 
00735 VipQuerySystemManagementInfo (IN VIP_NIC_HANDLE NicHandle,
00736                               IN VIP_ULONG InfoType,
00737                               OUT VIP_PVOID SysManInfo);
00738 
00741 VIP_ENTRY_POINT extern VIP_RETURN
00742 VipErrorCallback (IN VIP_NIC_HANDLE NicHandle,
00743                   IN VIP_PVOID Context,
00744                   IN void (*Handler) (IN VIP_PVOID Context,
00745                                       IN VIP_ERROR_DESCRIPTOR * ErrorDesc));
00746 
00747 
00748 /**********************************************************************
00749  * Peer-to-Peer Connection Model APIs
00750  *********************************************************************/
00751 
00755 VIP_ENTRY_POINT extern VIP_RETURN
00756 VipConnectPeerRequest (IN VIP_VI_HANDLE ViHandle,
00757                        IN VIP_NET_ADDRESS * LocalAddr,
00758                        IN VIP_NET_ADDRESS * RemoteAddr, 
00759                        IN VIP_ULONG Timeout);
00760 
00763 VIP_ENTRY_POINT extern VIP_RETURN
00764 VipConnectPeerDone (IN VIP_VI_HANDLE ViHandle,
00765                     OUT VIP_VI_ATTRIBUTES * RemoteViAttribs);
00766 
00769 VIP_ENTRY_POINT extern VIP_RETURN
00770 VipConnectPeerWait (IN VIP_VI_HANDLE ViHandle,
00771                     OUT VIP_VI_ATTRIBUTES * RemoteViAttribs);
00772 
00773 
00774 /**********************************************************************
00775  * Name service APIs
00776  *********************************************************************/
00777 
00779 VIP_ENTRY_POINT extern VIP_RETURN
00780 VipNSInit (IN VIP_NIC_HANDLE NicHandle, 
00781            IN VIP_PVOID NSInitInfo);
00782 
00785 VIP_ENTRY_POINT extern VIP_RETURN
00786 VipNSGetHostByName (IN VIP_NIC_HANDLE NicHandle,
00787                     IN VIP_CHAR * Name,
00788                     OUT VIP_NET_ADDRESS * Address, 
00789                     IN VIP_ULONG NameIndex);
00790 
00793 VIP_ENTRY_POINT extern VIP_RETURN
00794 VipNSGetHostByAddr (IN VIP_NIC_HANDLE NicHandle,
00795                     IN VIP_NET_ADDRESS * Address,
00796                     OUT VIP_CHAR * Name, 
00797                     IN OUT VIP_ULONG * NameLen);
00798 
00800 VIP_ENTRY_POINT extern VIP_RETURN 
00801 VipNSShutdown (IN VIP_NIC_HANDLE NicHandle);
00802 
00803 
00804 #endif
VI-GM-1.3 by Myricom © 1997-2006. Documentation generated on 20 May 2006 by doxygen 1.4.4.