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; }
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); }
/// 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; }
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; }
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); }