On Wed, Apr 24, 2019 at 5:41 PM Rainer Stratmann <
rainerstratm...@t-online.de> wrote:

> struct sockaddr_ll {
>      unsigned short sll_family;
>      unsigned short sll_protocol;
>      int            sll_ifindex;
>      unsigned short sll_hatype;
>      unsigned char  sll_pkttype;
>      unsigned char  sll_halen;
>      unsigned char  sll_addr[8];
>  };
>
> type
>  sockaddr_ll = record
>   sll_family : word;
>   sll_protocol : word;
>   sll_ifindex : integer;
>   sll_hatype : word;
>   sll_pkttype : byte;
>   sll_halen : byte;
>   sll_addr: array[ 0 .. 7 ] of byte;
>  end;
>
> Is this correct?


It seems OK, however, if you want portability too, you should:

uses
  ctypes;

{$PACKRECORDS C} // already commented by Michael

type
  sockaddr_ll = record
    sll_family: cushort;
    sll_protocol: cushort;
    sll_ifindex: cint;
    sll_hatype: cushort;
    sll_pkttype: cuchar;
    sll_halen: cuchar;
    sll_addr: array[0..7] of cuchar;
 end;

cheers

--
Silvio Clécio
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to