On Sun, 2003-11-09 at 19:46, Johannes Berg wrote: > Here's a patch to add some IPv6 definitions, I stole them from RFC 2553 > :-)
Whoops, I messed with the wrong structure here trying to adapt for BSD,
this looks better:
Index: inc/socketsh.inc
===================================================================
RCS file: /FPC/CVS/fpc/rtl/inc/socketsh.inc,v
retrieving revision 1.9
diff -u -r1.9 socketsh.inc
--- inc/socketsh.inc 23 Mar 2003 17:47:15 -0000 1.9
+++ inc/socketsh.inc 9 Nov 2003 18:53:25 -0000
@@ -123,7 +123,33 @@
port :Word;
addr :Cardinal;
pad :array [1..8] of byte; { to get to the size of sockaddr... }
- end;
+ end;
+
+ Tin6_addr = packed record
+ case byte of
+ 0: (u6_addr8 : array[0..15] of byte);
+ 1: (u6_addr16 : array[0..7] of Word);
+ 2: (u6_addr32 : array[0..3] of Cardinal);
+ 3: (s6_addr8 : array[0..15] of shortint);
+ 4: (s6_addr : array[0..15] of shortint);
+ 5: (s6_addr16 : array[0..7] of smallint);
+ 6: (s6_addr32 : array[0..3] of LongInt);
+ end;
+
+ TInetSockAddr6 = packed Record
+ {$ifdef BSD} // as per RFC 2553
+ sin6_len : byte;
+ sin6_family: byte;
+ {$ELSE}
+ sin6_family: word;
+ {$ENDIF}
+ sin6_port : Word;
+ sin6_flowinfo : LongInt;
+ sin6_addr : Tin6_addr;
+ sin6_scope_id : LongInt;
+ end;
+ sockaddr_in6 = TInetSockAddr6;
+ psockaddr_in6 = ^sockaddr_in6;
TSockArray = Array[1..2] of Longint;
I still have to test this, so take with big grains of salt ;)
johannes
--
http://www.sipsolutions.de/
GnuPG key: http://www.sipsolutions.de/keys/JohannesBerg.asc
Key-ID: 9AB78CA5 Johannes Berg <[EMAIL PROTECTED]>
Fingerprint = AD02 0176 4E29 C137 1DF6 08D2 FC44 CF86 9AB7 8CA5
signature.asc
Description: This is a digitally signed message part
