<html>
<body>
Hi CVS maintainers,<br><br>
I found that there is missing conditional compilation in
include/sys/sock_var.h:<br>
struct tcp_socket {<br>
    TCPSOCKET *so_next;     /*!<
\brief Link to next tcp socket structure. */<br>
    void
*so_device;<x-tab>    </x-tab>   
/*!< \brief Always zero. */<br>
    u_char
so_devtype;<x-tab>  </x-tab>    /*!< \brief
Device type, always IFTYP_TCPSOCK. */<br>
    int (*so_devread) (TCPSOCKET *, void *, int); /*!<
\brief Read from device. */<br>
    int (*so_devwrite) (TCPSOCKET *, CONST void *, int);
/*!< \brief Write to device. */<br>
<u>>> #ifdef __HARVARD_ARCH__<br>
</u>    int (*so_devwrite_P) (TCPSOCKET *, PGM_P, int);
/*!< \brief Write to device. */<br>
<u>>> #endif<br><br>
</u>As socket descriptor (pointer) is used to map as a virtual device,
above struct start should match that one in
include/sys/device.h:<br><br>
struct _NUTVIRTUALDEVICE {<br>
    NUTVIRTUALDEVICE *vdv_next;<br>
    NUTVIRTUALDEVICE *vdv_zero;<br>
    u_char vdv_type;<br>
    int (*vdv_read) (void *, void *, int);<br>
    int (*vdv_write) (void *, CONST void *, int);<br>
#ifdef __HARVARD_ARCH__<br>
    int (*vdv_write_P) (void *, PGM_P, int);<br>
#endif<br><br>
<br>
BTW: How Nut/OS' ioctl can work when it is compiled for non Harvard
architecture ?<br><br>
<x-sigsep><p></x-sigsep>
Dusan</body>
</html>