Beispiel #1
0
/************************************************************************
* NAME: fnet_udp_connect
*
* DESCRIPTION: UDP connect function.
*************************************************************************/
static fnet_return_t fnet_udp_connect( fnet_socket_if_t *sk, struct sockaddr *foreign_addr)
{
    fnet_isr_lock();

    fnet_memcpy(&sk->foreign_addr, foreign_addr, sizeof(sk->foreign_addr));
    sk->state = SS_CONNECTED;
    fnet_socket_buffer_release(&sk->receive_buffer);

    fnet_isr_unlock();
    return (FNET_OK);
}
Beispiel #2
0
/************************************************************************
* NAME: fnet_raw_connect
*
* DESCRIPTION: RAW connect function.
*************************************************************************/
static int fnet_raw_connect( fnet_socket_t *sk, struct sockaddr *foreign_addr)
{
    fnet_isr_lock();
    
    sk->foreign_addr = *foreign_addr;
    sk->local_addr.sa_port = 0;
    sk->foreign_addr.sa_port = 0;
    sk->state = SS_CONNECTED;
    fnet_socket_buffer_release(&sk->receive_buffer);
    fnet_isr_unlock();
    return (FNET_OK);
}
Beispiel #3
0
/************************************************************************
* NAME: fnet_raw_shutdown
*
* DESCRIPTION:  RAW shutdown function.
*************************************************************************/
static int fnet_raw_shutdown( fnet_socket_t *sk, int how )
{
    fnet_isr_lock();

    if((how & SD_READ) != 0)
    {
        sk->receive_buffer.is_shutdown = 1;
        fnet_socket_buffer_release(&sk->receive_buffer);
    }

    if((how & SD_WRITE) != 0)
    {
        sk->send_buffer.is_shutdown = 1;
    }

    fnet_isr_unlock();

    return (FNET_OK);
}
Beispiel #4
0
/************************************************************************
* DESCRIPTION:  RAW shutdown function.
*************************************************************************/
static fnet_return_t fnet_raw_shutdown( fnet_socket_if_t *sk, fnet_sd_flags_t how )
{
    fnet_isr_lock();

    if((how & SD_READ) != 0u)
    {
        sk->receive_buffer.is_shutdown = FNET_TRUE;
        fnet_socket_buffer_release(&sk->receive_buffer);
    }

    if((how & SD_WRITE) != 0u)
    {
        sk->send_buffer.is_shutdown = FNET_TRUE;
    }

    fnet_isr_unlock();

    return (FNET_OK);
}