netwib doc_html (version 5.39.0)

## main index

## section index

    /*-------------------------------------------------------------*/
    /***************************************************************
     * Following functions create/decode packets. Their names      *
     * should be self explaining. They are specialized in decoding *
     * one kind of packet. To support several kind of packets, use *
     * netwib_pkt_decode_layer_abc instead.                        *
     ***************************************************************/

    /*-------------------------------------------------------------*/
    netwib_err netwib_pkt_append_linkdata(netwib_constlinkhdr *plinkhdr,
                                          netwib_constbuf *pdata,
                                          netwib_buf *ppkt);
    netwib_err netwib_pkt_decode_linkdata(netwib_device_dlttype dlttype,
                                          netwib_constbuf *ppkt,
                                          netwib_linkhdr *plinkhdr,
                                          netwib_bufext *pdata);

    /*-------------------------------------------------------------*/
    netwib_err netwib_pkt_append_ipdata(netwib_constiphdr *piphdr,
                                        netwib_constbuf *pdata,
                                        netwib_buf *ppkt);
    netwib_err netwib_pkt_decode_ipdata(netwib_constbuf *ppkt,
                                        netwib_iphdr *piphdr,
                                        netwib_bufext *pdata);
    netwib_err netwib_pkt_append_linkipdata(netwib_constlinkhdr *plinkhdr,
                                            netwib_constiphdr *piphdr,
                                            netwib_constbuf *pdata,
                                            netwib_buf *ppkt);
    netwib_err netwib_pkt_decode_linkipdata(netwib_device_dlttype dlttype,
                                            netwib_constbuf *ppkt,
                                            netwib_linkhdr *plinkhdr,
                                            netwib_iphdr *piphdr,
                                            netwib_bufext *pdata);

    /*-------------------------------------------------------------*/
    netwib_err netwib_pkt_append_ipudpdata(netwib_constiphdr *piphdr,
                                           netwib_constudphdr *pudphdr,
                                           netwib_constbuf *pdata,
                                           netwib_buf *ppkt);
    netwib_err netwib_pkt_decode_ipudpdata(netwib_constbuf *ppkt,
                                           netwib_iphdr *piphdr,
                                           netwib_udphdr *pudphdr,
                                           netwib_bufext *pdata);
    netwib_err netwib_pkt_append_linkipudpdata(netwib_constlinkhdr *plinkhdr,
                                               netwib_constiphdr *piphdr,
                                               netwib_constudphdr *pudphdr,
                                               netwib_constbuf *pdata,
                                               netwib_buf *ppkt);
    netwib_err netwib_pkt_decode_linkipudpdata(netwib_device_dlttype dlttype,
                                               netwib_constbuf *ppkt,
                                               netwib_linkhdr *plinkhdr,
                                               netwib_iphdr *piphdr,
                                               netwib_udphdr *pudphdr,
                                               netwib_bufext *pdata);

    /*-------------------------------------------------------------*/
    netwib_err netwib_pkt_append_iptcpdata(netwib_constiphdr *piphdr,
                                           netwib_consttcphdr *ptcphdr,
                                           netwib_constbuf *pdata,
                                           netwib_buf *ppkt);
    netwib_err netwib_pkt_decode_iptcpdata(netwib_constbuf *ppkt,
                                           netwib_iphdr *piphdr,
                                           netwib_tcphdr *ptcphdr,
                                           netwib_bufext *pdata);
    netwib_err netwib_pkt_append_linkiptcpdata(netwib_constlinkhdr *plinkhdr,
                                               netwib_constiphdr *piphdr,
                                               netwib_consttcphdr *ptcphdr,
                                               netwib_constbuf *pdata,
                                               netwib_buf *ppkt);
    netwib_err netwib_pkt_decode_linkiptcpdata(netwib_device_dlttype dlttype,
                                               netwib_constbuf *ppkt,
                                               netwib_linkhdr *plinkhdr,
                                               netwib_iphdr *piphdr,
                                               netwib_tcphdr *ptcphdr,
                                               netwib_bufext *pdata);

    /*-------------------------------------------------------------*/
    netwib_err netwib_pkt_append_ipicmp4(netwib_constiphdr *piphdr,
                                         netwib_consticmp4 *picmp4,
                                         netwib_buf *ppkt);
    netwib_err netwib_pkt_decode_ipicmp4(netwib_constbuf *ppkt,
                                         netwib_iphdr *piphdr,
                                         netwib_icmp4 *picmp4);
    netwib_err netwib_pkt_append_linkipicmp4(netwib_constlinkhdr *plinkhdr,
                                             netwib_constiphdr *piphdr,
                                             netwib_consticmp4 *picmp4,
                                             netwib_buf *ppkt);
    netwib_err netwib_pkt_decode_linkipicmp4(netwib_device_dlttype dlttype,
                                             netwib_constbuf *ppkt,
                                             netwib_linkhdr *plinkhdr,
                                             netwib_iphdr *piphdr,
                                             netwib_icmp4 *picmp4);

    /*-------------------------------------------------------------*/
    netwib_err netwib_pkt_append_ipicmp6(netwib_constiphdr *piphdr,
                                         netwib_consticmp6 *picmp6,
                                         netwib_buf *ppkt);
    netwib_err netwib_pkt_decode_ipicmp6(netwib_constbuf *ppkt,
                                         netwib_iphdr *piphdr,
                                         netwib_icmp6 *picmp6);
    netwib_err netwib_pkt_append_linkipicmp6(netwib_constlinkhdr *plinkhdr,
                                             netwib_constiphdr *piphdr,
                                             netwib_consticmp6 *picmp6,
                                             netwib_buf *ppkt);
    netwib_err netwib_pkt_decode_linkipicmp6(netwib_device_dlttype dlttype,
                                             netwib_constbuf *ppkt,
                                             netwib_linkhdr *plinkhdr,
                                             netwib_iphdr *piphdr,
                                             netwib_icmp6 *picmp6);

    /*-------------------------------------------------------------*/
    /* before calling this function, user has to set plinkhdr->type
       to ARP or RARP */
    netwib_err netwib_pkt_append_linkarp(netwib_constlinkhdr *plinkhdr,
                                         netwib_constarphdr *parphdr,
                                         netwib_buf *ppkt);
    netwib_err netwib_pkt_decode_linkarp(netwib_device_dlttype dlttype,
                                         netwib_constbuf *ppkt,
                                         netwib_linkhdr *plinkhdr,
                                         netwib_arphdr *parphdr);

## main index

## section index