netwib doc_html (version 5.39.0)

## main index

## section index

    /*-------------------------------------------------------------*/
    /***************************************************************
     * A netwib_eth represents an Ethernet address.                *
     * You can init it with a netwib_eth_init_xyz function or with:*
     *   netwib_eth eth, eth2;                                     *
     *   eth.b[0] = 0x01; eth.b[1] = 0x02; eth.b[2] = 0x03; ...    *
     *   netwib_c_memcpy(eth.b, array, NETWIB_ETH_LEN);            *
     *   netwib_c_memset(eth.b, 0, NETWIB_ETH_LEN);                *
     *   eth2 = eth1;                                              *
     ***************************************************************/

    /*-------------------------------------------------------------*/
    /* Name : netwib_eth_init_fields
       Description :
         Initialize an netwib_eth address.
       Input parameter(s) :
         a,b,c,d,e,f : bytes of the Ethernet address
       Input/output parameter(s) :
       Output parameter(s) :
         *peth : netwib_eth set with a:b:c:d:e:f
       Normal return values :
         NETWIB_ERR_OK : ok
    */
    netwib_err netwib_eth_init_fields(netwib_byte a,
                                      netwib_byte b,
                                      netwib_byte c,
                                      netwib_byte d,
                                      netwib_byte e,
                                      netwib_byte f,
                                      netwib_eth *peth);

    /*-------------------------------------------------------------*/
    /* Name : netwib_eth_init_buf
       Description :
         Convert the string "aa:bb:cc:dd:ee:ff" to a netwib_eth.
       Input parameter(s) :
         *pbuf : string
       Input/output parameter(s) :
       Output parameter(s) :
         *peth : netwib_eth set
       Normal return values :
         NETWIB_ERR_OK : ok
         NETWIB_ERR_NOTCONVERTED : format is not "aa:bb:cc:dd:ee:ff"
    */
    netwib_err netwib_eth_init_buf(netwib_constbuf *pbuf,
                                   netwib_eth *peth);

    /*-------------------------------------------------------------*/
    /* Name : netwib_eth_init_ip
       Description :
         Convert a netwib_ip address to a netwib_eth.
       Input parameter(s) :
         ip : IP address
       Input/output parameter(s) :
       Output parameter(s) :
         *peth : netwib_eth set with ip
       Normal return values :
         NETWIB_ERR_OK : ok
         NETWIB_ERR_OKUNRESOLVED : the address could not be resolved
    */
    netwib_err netwib_eth_init_ip(netwib_constip *pip,
                                  netwib_eth *peth);

    /*-------------------------------------------------------------*/
    /* Name : netwib_eth_init_kbd
       Description :
         Initialize an netwib_eth with the address entered by the
         user through the keyboard
       Input parameter(s) :
         message : message to print before
         *pdefaulteth : default eth to use if user enters nothing
                        if NULL, there is no default
       Input/output parameter(s) :
       Output parameter(s) :
         *peth : netwib_eth set with user's string
       Normal return values :
         NETWIB_ERR_OK : ok
    */
    netwib_err netwib_eth_init_kbd(netwib_constbuf *pmessage,
                                   netwib_consteth *pdefaulteth,
                                   netwib_eth *peth);
    #define NETWIB_ETH_INIT_KBD_NODEF NULL

    /*-------------------------------------------------------------*/
    /* Name : netwib_eth_cmp
       Description :
         Compare two netwib_eth.
       Input parameter(s) :
         eth1 : netwib_eth to compare with eth2
         eth2 : netwib_eth to compare with eth1
       Input/output parameter(s) :
       Output parameter(s) :
         *pcmp :
           NETWIB_CMP_LT : eth1<eth2
           NETWIB_CMP_EQ : if eth1 and eth2 are equal
           NETWIB_CMP_GT : eth1>eth2
       Normal return values :
         NETWIB_ERR_OK : ok
    */
    netwib_err netwib_eth_cmp(netwib_consteth *peth1,
                              netwib_consteth *peth2,
                              netwib_cmp *pcmp);

    /*-------------------------------------------------------------*/
    /* Name : netwib_buf_append_eth
       Description :
         Append a string representing a netwib_eth.
       Input parameter(s) :
         eth : netwib_eth to append
       Input/output parameter(s) :
         pbuf : buffer updated
       Output parameter(s) :
       Normal return values :
         NETWIB_ERR_OK : ok
    */
    netwib_err netwib_buf_append_eth(netwib_consteth *peth,
                                     netwib_buf *pbuf);

## main index

## section index