/*
 * protocol initialization calls
 *
 * Warning: this file is generated from graph.comp and is overwritten
 * every time 'make compose' is run.
 */

#include "upi.h"
#include "x_util.h"
#include "compose.h"
#include "protocols.h"

Protl        protl_tab[8+1];
static Protl argv[8];
void
build_pgraph_dev()
{
}


void
build_pgraph()
{
    /*
     * building protocol SIMETH
     */
#ifdef XK_DEBUG
    protl_tab[0] = xCreateProtl(simeth_init, "simeth", "",
                                 &tracesimethp, 0, argv);
#else
    protl_tab[0] = xCreateProtl(simeth_init, "simeth", "",
                                 NULL, 0, argv);
#endif
    if (protl_tab[0] == ERR_PROTL)
        Kabort("Could not create simeth protocol");

    /*
     * building protocol ETH
     */
    argv[0] = protl_tab[0];
#ifdef XK_DEBUG
    protl_tab[1] = xCreateProtl(eth_init, "eth", "",
                                 &traceethp, 1, argv);
#else
    protl_tab[1] = xCreateProtl(eth_init, "eth", "",
                                 NULL, 1, argv);
#endif
    if (protl_tab[1] == ERR_PROTL)
        Kabort("Could not create eth protocol");

    /*
     * building protocol ARP
     */
    argv[0] = protl_tab[1];
#ifdef XK_DEBUG
    protl_tab[2] = xCreateProtl(arp_init, "arp", "",
                                 &tracearpp, 1, argv);
#else
    protl_tab[2] = xCreateProtl(arp_init, "arp", "",
                                 NULL, 1, argv);
#endif
    if (protl_tab[2] == ERR_PROTL)
        Kabort("Could not create arp protocol");

    /*
     * building protocol VNET
     */
    argv[0] = protl_tab[1];
    argv[1] = protl_tab[2];
#ifdef XK_DEBUG
    protl_tab[3] = xCreateProtl(vnet_init, "vnet", "",
                                 &tracevnetp, 2, argv);
#else
    protl_tab[3] = xCreateProtl(vnet_init, "vnet", "",
                                 NULL, 2, argv);
#endif
    if (protl_tab[3] == ERR_PROTL)
        Kabort("Could not create vnet protocol");

    /*
     * building protocol IP
     */
    argv[0] = protl_tab[3];
#ifdef XK_DEBUG
    protl_tab[4] = xCreateProtl(ip_init, "ip", "",
                                 &traceipp, 1, argv);
#else
    protl_tab[4] = xCreateProtl(ip_init, "ip", "",
                                 NULL, 1, argv);
#endif
    if (protl_tab[4] == ERR_PROTL)
        Kabort("Could not create ip protocol");

    /*
     * building protocol ICMP
     */
    argv[0] = protl_tab[4];
#ifdef XK_DEBUG
    protl_tab[5] = xCreateProtl(icmp_init, "icmp", "",
                                 &traceicmpp, 1, argv);
#else
    protl_tab[5] = xCreateProtl(icmp_init, "icmp", "",
                                 NULL, 1, argv);
#endif
    if (protl_tab[5] == ERR_PROTL)
        Kabort("Could not create icmp protocol");

    /*
     * building protocol CONC
     */
    argv[0] = protl_tab[4];
#ifdef XK_DEBUG
    protl_tab[6] = xCreateProtl(conc_init, "conc", "",
                                 &traceconcp, 1, argv);
#else
    protl_tab[6] = xCreateProtl(conc_init, "conc", "",
                                 NULL, 1, argv);
#endif
    if (protl_tab[6] == ERR_PROTL)
        Kabort("Could not create conc protocol");

    /*
     * building protocol CONCTEST
     */
    argv[0] = protl_tab[6];
#ifdef XK_DEBUG
    protl_tab[7] = xCreateProtl(conctest_init, "conctest", "",
                                 &traceconctestp, 1, argv);
#else
    protl_tab[7] = xCreateProtl(conctest_init, "conctest", "",
                                 NULL, 1, argv);
#endif
    if (protl_tab[7] == ERR_PROTL)
        Kabort("Could not create conctest protocol");

}
