Lines Matching full:handle
602 * Get a handle
612 static int dag_activate(pcap_t* handle)
614 struct pcap_dag *handlep = handle->priv;
622 char * device = handle->opt.source;
630 snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, "device is NULL: %s", pcap_strerror(errno));
639 snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, "Can't allocate string for device name: %s\n", pcap_strerror(errno));
645 snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, "dag_parse_name: %s\n", pcap_strerror(errno));
651 snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, "dag_parse_name: tx (even numbered) streams not supported for capture\n");
658 snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, "Can't allocate string for device name: %s\n", pcap_strerror(errno));
668 if((handle->fd = dag_open((char *)device)) < 0) {
669 snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, "dag_open %s: %s", device, pcap_strerror(errno));
675 if (dag_attach_stream(handle->fd, handlep->dag_stream, 0, 0) < 0) {
676 snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, "dag_attach_stream: %s\n", pcap_strerror(errno));
683 if (dag_get_stream_poll(handle->fd, handlep->dag_stream,
685 snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, "dag_get_stream_poll: %s\n", pcap_strerror(errno));
689 if (handle->opt.immediate) {
691 * XXX - is this the right way to handle this?
705 maxwait.tv_sec = handle->opt.timeout/1000;
706 maxwait.tv_usec = (handle->opt.timeout%1000) * 1000;
708 if (dag_set_stream_poll(handle->fd, handlep->dag_stream,
710 snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, "dag_set_stream_poll: %s\n", pcap_strerror(errno));
715 if((handlep->dag_mem_base = dag_mmap(handle->fd)) == MAP_FAILED) {
716 snprintf(handle->errbuf, PCAP_ERRBUF_SIZE,"dag_mmap %s: %s\n", device, pcap_strerror(errno));
730 if (handle->snapshot == 0 || handle->snapshot > MAX_DAG_SNAPLEN) {
731 handle->snapshot = MAX_DAG_SNAPLEN;
733 handle->snapshot = MIN_DAG_SNAPLEN;
738 if(dag_configure(handle->fd, conf) < 0) {
739 snprintf(handle->errbuf, PCAP_ERRBUF_SIZE,"dag_configure %s: %s\n", device, pcap_strerror(errno));
745 if(dag_start_stream(handle->fd, handlep->dag_stream) < 0) {
746 snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, "dag_start_stream %s: %s\n", device, pcap_strerror(errno));
750 if(dag_start(handle->fd) < 0) {
751 snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, "dag_start %s: %s\n", device, pcap_strerror(errno));
768 daginf = dag_info(handle->fd);
774 handle->linktype_ext = LT_FCS_DATALINK_EXT(0);
786 snprintf(handle->errbuf, PCAP_ERRBUF_SIZE,
798 handle->linktype_ext = LT_FCS_DATALINK_EXT(handlep->dag_fcs_bits/16);
805 handlep->dag_timeout = handle->opt.timeout;
807 handle->linktype = -1;
808 if (dag_get_datalink(handle) < 0)
811 handle->bufsize = 0;
813 if (new_pcap_dag(handle) < 0) {
814 snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, "new_pcap_dag %s: %s\n", device, pcap_strerror(errno));
821 handle->selectable_fd = -1;
827 handle->read_op = dag_read;
828 handle->inject_op = dag_inject;
829 handle->setfilter_op = dag_setfilter;
830 handle->setdirection_op = NULL; /* Not implemented.*/
831 handle->set_datalink_op = dag_set_datalink;
832 handle->getnonblock_op = pcap_getnonblock_fd;
833 handle->setnonblock_op = dag_setnonblock;
834 handle->stats_op = dag_stats;
835 handle->cleanup_op = dag_platform_cleanup;
843 if (dag_stop_stream(handle->fd, handlep->dag_stream) < 0) {
848 if (dag_detach_stream(handle->fd, handlep->dag_stream) < 0)
852 if (dag_stop(handle->fd) < 0)
857 if (dag_close(handle->fd) < 0)
859 delete_pcap_dag(handle);
862 pcap_cleanup_live_common(handle);