<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>