Example #1
0
File: main.cpp Project: trtikm/E2
int main(int argc, char* argv[])
{
    try
    {
        initialise_program_options(argc,argv);
        if (get_program_options()->helpMode())
            std::cout << get_program_options();
        else if (get_program_options()->versionMode())
            std::cout << get_program_version() << "\n";
        else
        {
            run(argc,argv);
            TMPROF_PRINT_TO_FILE(get_program_name() + "_TMPROF.html",true);
        }

    }
    catch(std::exception const& e)
    {
        try { save_crash_report(e.what()); } catch (...) {}
        return -1;
    }
    catch(...)
    {
        try { save_crash_report("Unknown exception was thrown."); } catch (...) {}
        return -2;
    }
    return 0;
}
Example #2
0
widgets::widgets(program_window* const  wnd)
    : QTreeWidget()
    , m_wnd(wnd)
    , m_icon_data_type((boost::filesystem::path{ get_program_options()->dataRoot() } /
                       "shared/gfx/icons/data_type.png").string().c_str())
    , m_icon_wainting_for_load((boost::filesystem::path{ get_program_options()->dataRoot() } /
                               "shared/gfx/icons/wait.png").string().c_str())
    , m_icon_being_loaded((boost::filesystem::path{ get_program_options()->dataRoot() } /
                          "shared/gfx/icons/loading.png").string().c_str())
    , m_icon_in_use((boost::filesystem::path{ get_program_options()->dataRoot() } /
                    "shared/gfx/icons/in_use.png").string().c_str())
    , m_icon_failed_to_load((boost::filesystem::path{ get_program_options()->dataRoot() } /
                            "shared/gfx/icons/error.png").string().c_str())
    , m_records()
    , m_just_being_loaded(async::get_invalid_key())
{
    setSelectionMode(QAbstractItemView::SelectionMode::NoSelection);

    {
        QTreeWidgetItem* const  headerItem = new QTreeWidgetItem();
        headerItem->setText(0, QString("Resource types"));
        headerItem->setText(1, QString("#Refs"));
        setHeaderItem(headerItem);
    }
    //int cc = columnCount();
    //int cs0 = columnWidth(0);
    //int cs1 = columnWidth(1);
    //int cs0X = (int)std::max(1.0f, std::roundf(0.9f * (cs0 + cs1)));
    //int cs1X = (int)std::max(1.0f, std::roundf(0.1f * (cs0 + cs1)));
    //setColumnWidth(0, cs0X);
    //setColumnWidth(1, cs1X);
}
Example #3
0
/// Create and build a program from source string.
inline cl::Program build_sources(
        const cl::Context &context, const std::string &source,
        const std::string &options = ""
        )
{
#ifdef VEXCL_SHOW_KERNELS
    std::cout << source << std::endl;
#endif

    cl::Program program(context, cl::Program::Sources(
                1, std::make_pair(source.c_str(), source.size())
                ));

    auto device = context.getInfo<CL_CONTEXT_DEVICES>();

    try {
        program.build(device, (options + " " + get_program_options(device[0])).c_str());
    } catch(const cl::Error&) {
        std::cerr << source
                  << std::endl
                  << program.getBuildInfo<CL_PROGRAM_BUILD_LOG>(device[0])
                  << std::endl;
        throw;
    }

    return program;
}
Example #4
0
int main(int argc, char **argv)
{
	char *devname;
	char ebuf[PCAP_ERRBUF_SIZE];
	char llstr[6 * 3];
	const u_char *pload;
	pcap_t *dev;
	struct pcap_pkthdr hdr;
	struct ethhdr *machdr;
#if 0
	printf("%zu\n", sizeof(*machdr));
	return 0;
#endif
	int c = get_program_options(argc, argv, NULL);
	printf("get_program_options: %d\n", c);
	return 0;

	devname = pcap_lookupdev(ebuf);
	printf("errbuf: %s: %s\n", ebuf, devname);

	dev = pcap_open_live("enp0s25", PCAP_ERRBUF_SIZE, 1, 2000, ebuf);
	printf("dev: %p\n", dev);

	pload = pcap_next(dev, &hdr);
	ebuf[PCAP_ERRBUF_SIZE - 1] = '\0';
	printf("ploadptr: %p, hdrlen: %u\n", pload, hdr.len);

	machdr = eth_hdr(pload);
	printf("mac header: src: %s\n", mac_str(machdr->src, llstr));
	printf("mac header: dst: %s\n", mac_str(machdr->dst, llstr));

	return 0;
}
Example #5
0
int main(int argc, char *argv[])
{
	static struct program_options opts;
	struct bpf_program fp;
	char errbuff[PCAP_ERRBUF_SIZE];
	pcap_t *pcap;
	int err, linktype;

	if (get_program_options(argc, argv, &opts))
		err_exit("could not get program options\n");

	if (!opts.interface)
		opts.interface = "any";
	if (opts.snaplen < MIN_SNAPLEN)
		opts.snaplen = MIN_SNAPLEN;

	pcap = pcap_open_live(opts.interface, opts.snaplen,
			      opts.promisc, 2000, errbuff);
	if (!pcap)
		err_exit("cannot open network interface\n");

	err = pcap_compile(pcap, &fp, opts.bpf_expr, 0, -1);
	if (err)
		err_exit(pcap_geterr(pcap));

	err = pcap_setfilter(pcap, &fp);
	if (err)
		err_exit(pcap_geterr(pcap));

	linktype = pcap_datalink(pcap);
	printf("datalink: %s\n", pcap_datalink_val_to_name(linktype));

	switch (linktype) {
	case DLT_EN10MB:
		err = pcap_loop(pcap, CAPTURE_INF,
				pkt_handler_en10mb, NULL);
		break;
	case DLT_LINUX_SLL:
		err = pcap_loop(pcap, CAPTURE_INF,
				pkt_handler_linux_sll, NULL);
		break;
	default:
		err_exit("Datalink type is not yet supported!\n");
	}

	switch (err) {
	case 0:
		printf("netsniff terminated successfully\n");
		break;
	case -1:
	case -2:
		printf("netsniff terminated with error: %d\n", err);
		break;
	}

	exit(EXIT_SUCCESS);
}