1 {******************************************************************************}
2 {                                                                              }
3 { Winsock2 Vines IP API interface Unit for Object Pascal                       }
4 {                                                                              }
5 { Portions created by Microsoft are Copyright (C) 1995-2001 Microsoft          }
6 { Corporation. All Rights Reserved.                                            }
7 {                                                                              }
8 { The original file is: wsvns.h, released June 2000. The original Pascal       }
9 { code is: WSvns.pas, released December 2000. The initial developer of the     }
10 { Pascal code is Marcel van Brakel (brakelm att chello dott nl).               }
11 {                                                                              }
12 { Portions created by Marcel van Brakel are Copyright (C) 1999-2001            }
13 { Marcel van Brakel. All Rights Reserved.                                      }
14 {                                                                              }
15 { Obtained through: Joint Endeavour of Delphi Innovators (Project JEDI)        }
16 {                                                                              }
17 { You may retrieve the latest version of this file at the Project JEDI         }
18 { APILIB home page, located at http://jedi-apilib.sourceforge.net              }
19 {                                                                              }
20 { The contents of this file are used with permission, subject to the Mozilla   }
21 { Public License Version 1.1 (the "License"); you may not use this file except }
22 { in compliance with the License. You may obtain a copy of the License at      }
23 { http://www.mozilla.org/MPL/MPL-1.1.html                                      }
24 {                                                                              }
25 { Software distributed under the License is distributed on an "AS IS" basis,   }
26 { WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for }
27 { the specific language governing rights and limitations under the License.    }
28 {                                                                              }
29 { Alternatively, the contents of this file may be used under the terms of the  }
30 { GNU Lesser General Public License (the  "LGPL License"), in which case the   }
31 { provisions of the LGPL License are applicable instead of those above.        }
32 { If you wish to allow use of your version of this file only under the terms   }
33 { of the LGPL License and not to allow others to use your version of this file }
34 { under the MPL, indicate your decision by deleting  the provisions above and  }
35 { replace  them with the notice and other provisions required by the LGPL      }
36 { License.  If you do not delete the provisions above, a recipient may use     }
37 { your version of this file under either the MPL or the LGPL License.          }
38 {                                                                              }
39 { For more information about the LGPL: http://www.gnu.org/copyleft/lesser.html }
40 {                                                                              }
41 {******************************************************************************}
42 
43 // $Id: JwaWSvns.pas,v 1.5 2007/09/05 11:58:53 dezipaitor Exp $
44 {$IFNDEF JWA_OMIT_SECTIONS}
45 unit JwaWSvns;
46 
47 {$WEAKPACKAGEUNIT}
48 {$ENDIF JWA_OMIT_SECTIONS}
49 
50 {$HPPEMIT ''}
51 {$HPPEMIT '#include "wsvns.h"'}
52 {$HPPEMIT ''}
53 
54 
55 {$IFNDEF JWA_OMIT_SECTIONS}
56 {$I jediapilib.inc}
57 
58 interface
59 
60 uses
61   JwaWinSock2;
62 {$ENDIF JWA_OMIT_SECTIONS}
63 {$IFNDEF JWA_IMPLEMENTATIONSECTION}
64 
65 //
66 // Windows Sockets include file for VINES IP.  This file contains all
67 // standardized VINES IP information.  Include this header file after winsock.h.
68 //
69 // To open an VINES IP socket, call socket() with an address family of AF_BAN, a
70 // socket type of SOCK_DGRAM, SOCK_STREAM, or SOCK_SEQPACKET, and protocol of 0.
71 //
72 
73 //
74 // Socket address, VINES IP style.  Address fields and port field are defined
75 // as a sequence of bytes.  This is done because they are byte ordered
76 // BIG ENDIAN, ala most significant byte first.
77 //
78 
79 type
80   SOCKADDR_VNS = record
81     sin_family: u_short;                 // = AF_BAN
82     net_address: array [0..3] of u_char; // network address
83     subnet_addr: array [0..1] of u_char; // subnet address
84     port: array [0..1] of u_char;        // msb=port[0], lsb=port[1]
85     hops: u_char;                        // # hops for broadcasts
86     filler: array [0..4] of u_char;        // filler, zeros
87   end;
88   {$EXTERNALSYM SOCKADDR_VNS}
89   PSOCKADDR_VNS = ^SOCKADDR_VNS;
90   {$EXTERNALSYM PSOCKADDR_VNS}
91   LPSOCKADDR_VNS = ^SOCKADDR_VNS;
92   {$EXTERNALSYM LPSOCKADDR_VNS}
93   TSockAddrVNS = SOCKADDR_VNS;
94   PSockAddrVNS = LPSOCKADDR_VNS;
95 
96 const
97   VNSPROTO_IPC          = 1;
98   {$EXTERNALSYM VNSPROTO_IPC}
99   VNSPROTO_RELIABLE_IPC = 2;
100   {$EXTERNALSYM VNSPROTO_RELIABLE_IPC}
101   VNSPROTO_SPP          = 3;
102   {$EXTERNALSYM VNSPROTO_SPP}
103 {$ENDIF JWA_IMPLEMENTATIONSECTION}
104 
105 {$IFNDEF JWA_OMIT_SECTIONS}
106 implementation
107 //uses ...
108 {$ENDIF JWA_OMIT_SECTIONS}
109 
110 
111 {$IFNDEF JWA_INTERFACESECTION}
112 //your implementation here
113 {$ENDIF JWA_INTERFACESECTION}
114 
115 
116 {$IFNDEF JWA_OMIT_SECTIONS}
117 end.
118 {$ENDIF JWA_OMIT_SECTIONS}
119