This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Where is the documentation for HCI_CMND_BSD_SELECT

We need a non-blocking driver for our application, so we are writing it for ourselves.

Looking at the code for select in socket.c we've run into a couple of problems.

First, the driver conflicts with <sys/types.h> in the definitions.

Secondly, if timeout==NULL, it appears that data is not written into the stream at all.  I assume that is because the bytes are ignored by the chip if is blocking is set.

Finally, what are the magic 0x14's for.  I assume they're to point at offsets to various values 20 bytes away, so the first is the offset to readsds, the second the offset to writesds, the third the offset to exceptsds and the fourth to the timeout value.

  • Hi Anthony,

    Can you please point us to the conflicts that you are referring to here?

    With the timeout==NULL, just to clarify, is it the transmission that is failing for you Or is it the Rx?

    Yes, that is correct. They are the offsets to populate the descriptor set.

    If you are looking for a non-blocking driver, have you tried exploring the non-blocking recv? Also you can play around with time-outs, especially inactivity time-out by using 'netapp_timeout_values'.

    Thanks & Regards,
    Raghavendra

     

  • In the case where timeout is null in the driver, there are uninitialized values in the buffer transferred to the CC3000.

    If it's not null data is streamed into the buffer to be sent, otherwise, it is left uninitialized.