summaryrefslogtreecommitdiff
path: root/gnuradio-core
diff options
context:
space:
mode:
authorTom Rondeau <trondeau@vt.edu>2013-02-27 18:35:38 -0500
committerTom Rondeau <trondeau@vt.edu>2013-02-27 18:35:38 -0500
commit2f55d7dfc33e8d990e44c5bbb7c6d2fbdaddd563 (patch)
tree87cc11b4b13a0f4960ac9106ecb487aa0e82fd4d /gnuradio-core
parent5a5338f584297f30e451e43dcb05f331cad51cd4 (diff)
parent6e988b777c6788cc7d434b869173ebcdcc2ce5e3 (diff)
Merge branch 'next' of gnuradio.org:gnuradio into next
Diffstat (limited to 'gnuradio-core')
-rw-r--r--gnuradio-core/src/lib/general/CMakeLists.txt2
-rw-r--r--gnuradio-core/src/lib/general/general.i4
-rw-r--r--gnuradio-core/src/lib/general/gr_pack_k_bits_bb.cc69
-rw-r--r--gnuradio-core/src/lib/general/gr_pack_k_bits_bb.h56
-rw-r--r--gnuradio-core/src/lib/general/gr_pack_k_bits_bb.i34
-rw-r--r--gnuradio-core/src/lib/general/gr_unpack_k_bits_bb.cc70
-rw-r--r--gnuradio-core/src/lib/general/gr_unpack_k_bits_bb.h56
-rw-r--r--gnuradio-core/src/lib/general/gr_unpack_k_bits_bb.i34
-rw-r--r--gnuradio-core/src/lib/io/CMakeLists.txt1
-rw-r--r--gnuradio-core/src/lib/io/gr_pdu.h13
-rw-r--r--gnuradio-core/src/lib/io/gr_pdu_to_tagged_stream.cc8
-rw-r--r--gnuradio-core/src/lib/io/gr_tagged_stream_to_pdu.cc8
-rw-r--r--gnuradio-core/src/lib/io/gr_tuntap_pdu.cc145
-rw-r--r--gnuradio-core/src/lib/io/gr_tuntap_pdu.h74
-rw-r--r--gnuradio-core/src/lib/io/gr_tuntap_pdu.i30
-rw-r--r--gnuradio-core/src/lib/io/io.i2
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_pack_k_bits.py67
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_unpack_k_bits.py57
18 files changed, 15 insertions, 715 deletions
diff --git a/gnuradio-core/src/lib/general/CMakeLists.txt b/gnuradio-core/src/lib/general/CMakeLists.txt
index d38d478e7d..b844cf302c 100644
--- a/gnuradio-core/src/lib/general/CMakeLists.txt
+++ b/gnuradio-core/src/lib/general/CMakeLists.txt
@@ -170,8 +170,6 @@ set(gr_core_general_triple_threats
gr_test
gr_vco_f
gr_vector_map
- gr_unpack_k_bits_bb
- gr_pack_k_bits_bb
gr_annotator_alltoall
gr_annotator_1to1
gr_annotator_raw
diff --git a/gnuradio-core/src/lib/general/general.i b/gnuradio-core/src/lib/general/general.i
index 1769c1e832..ff4c95631b 100644
--- a/gnuradio-core/src/lib/general/general.i
+++ b/gnuradio-core/src/lib/general/general.i
@@ -47,8 +47,6 @@
#include <gr_constants.h>
#include <gr_test_types.h>
#include <gr_test.h>
-#include <gr_unpack_k_bits_bb.h>
-#include <gr_pack_k_bits_bb.h>
#include <gr_feval.h>
#include <gr_bin_statistics_f.h>
#include <gr_copy.h>
@@ -87,8 +85,6 @@
%include "gr_constants.i"
%include "gr_test_types.h"
%include "gr_test.i"
-%include "gr_unpack_k_bits_bb.i"
-%include "gr_pack_k_bits_bb.i"
%include "gr_feval.i"
%include "gr_bin_statistics_f.i"
%include "gr_copy.i"
diff --git a/gnuradio-core/src/lib/general/gr_pack_k_bits_bb.cc b/gnuradio-core/src/lib/general/gr_pack_k_bits_bb.cc
deleted file mode 100644
index 0ea0c9e388..0000000000
--- a/gnuradio-core/src/lib/general/gr_pack_k_bits_bb.cc
+++ /dev/null
@@ -1,69 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2012 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GNU Radio; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street,
- * Boston, MA 02110-1301, USA.
- */
-
-#if HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <gr_pack_k_bits_bb.h>
-#include <gr_io_signature.h>
-#include <stdexcept>
-#include <iostream>
-
-gr_pack_k_bits_bb_sptr gr_make_pack_k_bits_bb(unsigned k)
-{
- return gnuradio::get_initial_sptr(new gr_pack_k_bits_bb(k));
-}
-
-
-gr_pack_k_bits_bb::gr_pack_k_bits_bb (unsigned k)
- : gr_sync_decimator("pack_k_bits_bb",
- gr_make_io_signature (1, 1, sizeof(unsigned char)),
- gr_make_io_signature (1, 1, sizeof(unsigned char)),
- k),
- d_k (k)
-{
- if (d_k == 0)
- throw std::out_of_range("interpolation must be > 0");
-}
-
-gr_pack_k_bits_bb::~gr_pack_k_bits_bb()
-{
-}
-
-int
-gr_pack_k_bits_bb::work(int noutput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items)
-{
- const unsigned char *in = (const unsigned char *)input_items[0];
- unsigned char *out = (unsigned char *)output_items[0];
-
- for(int i = 0; i < noutput_items; i++) {
- out[i] = 0x00;
- for(unsigned int j = 0; j < d_k; j++) {
- out[i] |= (0x01 & in[i*d_k+j])<<(d_k-j-1);
- }
- }
-
- return noutput_items;
-}
diff --git a/gnuradio-core/src/lib/general/gr_pack_k_bits_bb.h b/gnuradio-core/src/lib/general/gr_pack_k_bits_bb.h
deleted file mode 100644
index 8e1508c78b..0000000000
--- a/gnuradio-core/src/lib/general/gr_pack_k_bits_bb.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2012 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GNU Radio; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef INCLUDED_GR_PACK_K_BITS_BB_H
-#define INCLUDED_GR_PACK_K_BITS_BB_H
-
-#include <gr_core_api.h>
-#include <gr_sync_decimator.h>
-
-class gr_pack_k_bits_bb;
-typedef boost::shared_ptr<gr_pack_k_bits_bb> gr_pack_k_bits_bb_sptr;
-GR_CORE_API gr_pack_k_bits_bb_sptr gr_make_pack_k_bits_bb (unsigned k);
-
-class gr_pack_k_bits_bb;
-
-/*!
- * \brief Converts a stream of bytes with 1 bit in the LSB to a byte with k relevent bits.
- * \ingroup converter_blk
- */
-class GR_CORE_API gr_pack_k_bits_bb : public gr_sync_decimator
-{
- private:
- friend GR_CORE_API gr_pack_k_bits_bb_sptr gr_make_pack_k_bits_bb (unsigned k);
-
- gr_pack_k_bits_bb (unsigned k);
-
- unsigned d_k; // number of relevent bits to pack from k input bytes
-
- public:
- ~gr_pack_k_bits_bb ();
-
- int work (int noutput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items);
-};
-
-#endif
diff --git a/gnuradio-core/src/lib/general/gr_pack_k_bits_bb.i b/gnuradio-core/src/lib/general/gr_pack_k_bits_bb.i
deleted file mode 100644
index 6ae2095ec7..0000000000
--- a/gnuradio-core/src/lib/general/gr_pack_k_bits_bb.i
+++ /dev/null
@@ -1,34 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2012 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GNU Radio; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street,
- * Boston, MA 02110-1301, USA.
- */
-
-GR_SWIG_BLOCK_MAGIC(gr,pack_k_bits_bb)
-
-gr_pack_k_bits_bb_sptr gr_make_pack_k_bits_bb (int k) throw(std::exception);
-
-class gr_pack_k_bits_bb : public gr_sync_decimator
-{
- private:
- gr_pack_k_bits_bb (int k);
-
- public:
- ~gr_pack_k_bits_bb ();
-};
diff --git a/gnuradio-core/src/lib/general/gr_unpack_k_bits_bb.cc b/gnuradio-core/src/lib/general/gr_unpack_k_bits_bb.cc
deleted file mode 100644
index 00b88e9724..0000000000
--- a/gnuradio-core/src/lib/general/gr_unpack_k_bits_bb.cc
+++ /dev/null
@@ -1,70 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2005,2010 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GNU Radio; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street,
- * Boston, MA 02110-1301, USA.
- */
-
-#if HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <gr_unpack_k_bits_bb.h>
-#include <gr_io_signature.h>
-#include <stdexcept>
-#include <iostream>
-
-gr_unpack_k_bits_bb_sptr gr_make_unpack_k_bits_bb (unsigned k)
-{
- return gnuradio::get_initial_sptr(new gr_unpack_k_bits_bb (k));
-}
-
-
-gr_unpack_k_bits_bb::gr_unpack_k_bits_bb (unsigned k)
- : gr_sync_interpolator ("unpack_k_bits_bb",
- gr_make_io_signature (1, 1, sizeof (unsigned char)),
- gr_make_io_signature (1, 1, sizeof (unsigned char)),
- k),
- d_k (k)
-{
- if (d_k == 0)
- throw std::out_of_range ("interpolation must be > 0");
-}
-
-gr_unpack_k_bits_bb::~gr_unpack_k_bits_bb ()
-{
-}
-
-int
-gr_unpack_k_bits_bb::work (int noutput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items)
-{
- const unsigned char *in = (const unsigned char *) input_items[0];
- unsigned char *out = (unsigned char *) output_items[0];
-
- int n = 0;
- for (unsigned int i = 0; i < noutput_items/d_k; i++){
- unsigned int t = in[i];
- for (int j = d_k - 1; j >= 0; j--)
- out[n++] = (t >> j) & 0x01;
- }
-
- assert(n == noutput_items);
- return noutput_items;
-}
diff --git a/gnuradio-core/src/lib/general/gr_unpack_k_bits_bb.h b/gnuradio-core/src/lib/general/gr_unpack_k_bits_bb.h
deleted file mode 100644
index c3ea28d3fa..0000000000
--- a/gnuradio-core/src/lib/general/gr_unpack_k_bits_bb.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2006 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GNU Radio; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef INCLUDED_GR_UNPACK_K_BITS_BB_H
-#define INCLUDED_GR_UNPACK_K_BITS_BB_H
-
-#include <gr_core_api.h>
-#include <gr_sync_interpolator.h>
-
-class gr_unpack_k_bits_bb;
-typedef boost::shared_ptr<gr_unpack_k_bits_bb> gr_unpack_k_bits_bb_sptr;
-GR_CORE_API gr_unpack_k_bits_bb_sptr gr_make_unpack_k_bits_bb (unsigned k);
-
-class gr_unpack_k_bits_bb;
-
-/*!
- * \brief Converts a byte with k relevent bits to k output bytes with 1 bit in the LSB.
- * \ingroup converter_blk
- */
-class GR_CORE_API gr_unpack_k_bits_bb : public gr_sync_interpolator
-{
- private:
- friend GR_CORE_API gr_unpack_k_bits_bb_sptr gr_make_unpack_k_bits_bb (unsigned k);
-
- gr_unpack_k_bits_bb (unsigned k);
-
- unsigned d_k; // number of relevent bits to unpack into k output bytes
-
- public:
- ~gr_unpack_k_bits_bb ();
-
- int work (int noutput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items);
-};
-
-#endif
diff --git a/gnuradio-core/src/lib/general/gr_unpack_k_bits_bb.i b/gnuradio-core/src/lib/general/gr_unpack_k_bits_bb.i
deleted file mode 100644
index de0f4b33e7..0000000000
--- a/gnuradio-core/src/lib/general/gr_unpack_k_bits_bb.i
+++ /dev/null
@@ -1,34 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2006 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GNU Radio; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street,
- * Boston, MA 02110-1301, USA.
- */
-
-GR_SWIG_BLOCK_MAGIC(gr,unpack_k_bits_bb)
-
-gr_unpack_k_bits_bb_sptr gr_make_unpack_k_bits_bb (int k) throw(std::exception);
-
-class gr_unpack_k_bits_bb : public gr_sync_interpolator
-{
- private:
- gr_unpack_k_bits_bb (int k);
-
- public:
- ~gr_unpack_k_bits_bb ();
-};
diff --git a/gnuradio-core/src/lib/io/CMakeLists.txt b/gnuradio-core/src/lib/io/CMakeLists.txt
index 59ca06b5a2..23c019d63b 100644
--- a/gnuradio-core/src/lib/io/CMakeLists.txt
+++ b/gnuradio-core/src/lib/io/CMakeLists.txt
@@ -105,7 +105,6 @@ set(gr_core_io_triple_threats
gr_wavfile_sink
gr_tagged_file_sink
gr_tagged_stream_to_pdu
- gr_tuntap_pdu
gr_socket_pdu
)
diff --git a/gnuradio-core/src/lib/io/gr_pdu.h b/gnuradio-core/src/lib/io/gr_pdu.h
index a5ae87db7f..53058ccb6c 100644
--- a/gnuradio-core/src/lib/io/gr_pdu.h
+++ b/gnuradio-core/src/lib/io/gr_pdu.h
@@ -23,17 +23,18 @@
#ifndef GR_PDU_H
#define GR_PDU_H
+#include <gr_core_api.h>
#include <gr_complex.h>
#include <gruel/pmt.h>
-#define pdu_port_id pmt::mp("pdus")
-#define pdu_length_tag pmt::mp("pdu_length")
+#define PDU_PORT_ID pmt::mp("pdus")
+#define PDU_LENGTH_TAG pmt::mp("pdu_length")
enum gr_pdu_vector_type { pdu_byte, pdu_float, pdu_complex };
-size_t gr_pdu_itemsize(gr_pdu_vector_type type);
-bool gr_pdu_type_matches(gr_pdu_vector_type type, pmt::pmt_t v);
-pmt::pmt_t gr_pdu_make_vector(gr_pdu_vector_type type, const uint8_t* buf, size_t items);
-gr_pdu_vector_type type_from_pmt(pmt::pmt_t vector);
+GR_CORE_API size_t gr_pdu_itemsize(gr_pdu_vector_type type);
+GR_CORE_API bool gr_pdu_type_matches(gr_pdu_vector_type type, pmt::pmt_t v);
+GR_CORE_API pmt::pmt_t gr_pdu_make_vector(gr_pdu_vector_type type, const uint8_t* buf, size_t items);
+GR_CORE_API gr_pdu_vector_type type_from_pmt(pmt::pmt_t vector);
#endif
diff --git a/gnuradio-core/src/lib/io/gr_pdu_to_tagged_stream.cc b/gnuradio-core/src/lib/io/gr_pdu_to_tagged_stream.cc
index 9354a1366d..79011d8536 100644
--- a/gnuradio-core/src/lib/io/gr_pdu_to_tagged_stream.cc
+++ b/gnuradio-core/src/lib/io/gr_pdu_to_tagged_stream.cc
@@ -49,7 +49,7 @@ gr_pdu_to_tagged_stream::gr_pdu_to_tagged_stream (gr_pdu_vector_type t)
gr_make_io_signature(1, 1, gr_pdu_itemsize(t))),
d_vectortype(t), d_itemsize(gr_pdu_itemsize(t))
{
- message_port_register_in(pdu_port_id);
+ message_port_register_in(PDU_PORT_ID);
}
gr_pdu_to_tagged_stream::~gr_pdu_to_tagged_stream()
@@ -77,8 +77,8 @@ gr_pdu_to_tagged_stream::work(int noutput_items,
if(noutput_items > 0){
// grab a message if one exists
- //pmt::pmt_t msg( delete_head_nowait( pdu_port_id ) );
- pmt::pmt_t msg( delete_head_blocking( pdu_port_id ) );
+ //pmt::pmt_t msg( delete_head_nowait( PDU_PORT_ID ) );
+ pmt::pmt_t msg( delete_head_blocking( PDU_PORT_ID ) );
if(msg.get() == NULL ){
return nout;
}
@@ -99,7 +99,7 @@ gr_pdu_to_tagged_stream::work(int noutput_items,
uint64_t offset = nitems_written(0) + nout;
// add a tag for pdu length
- add_item_tag(0, offset, pdu_length_tag, pmt::from_long( pmt::length(vect) ), pmt::mp(alias()));
+ add_item_tag(0, offset, PDU_LENGTH_TAG, pmt::from_long( pmt::length(vect) ), pmt::mp(alias()));
// if we recieved metadata add it as tags
if( !eq(meta, pmt::PMT_NIL) ){
diff --git a/gnuradio-core/src/lib/io/gr_tagged_stream_to_pdu.cc b/gnuradio-core/src/lib/io/gr_tagged_stream_to_pdu.cc
index 3493f6a389..7daac6db26 100644
--- a/gnuradio-core/src/lib/io/gr_tagged_stream_to_pdu.cc
+++ b/gnuradio-core/src/lib/io/gr_tagged_stream_to_pdu.cc
@@ -49,7 +49,7 @@ gr_tagged_stream_to_pdu::gr_tagged_stream_to_pdu (gr_pdu_vector_type t)
d_vectortype(t), d_itemsize(gr_pdu_itemsize(t)), d_inpdu(false),
d_pdu_meta(pmt::PMT_NIL), d_pdu_vector(pmt::PMT_NIL)
{
- message_port_register_out(pdu_port_id);
+ message_port_register_out(PDU_PORT_ID);
}
gr_tagged_stream_to_pdu::~gr_tagged_stream_to_pdu()
@@ -70,7 +70,7 @@ gr_tagged_stream_to_pdu::work(int noutput_items,
get_tags_in_range(d_tags, 0, abs_N, abs_N+1);
bool found_length_tag(false);
for(d_tags_itr = d_tags.begin(); (d_tags_itr != d_tags.end()) && (!found_length_tag); d_tags_itr++){
- if( pmt::equal( (*d_tags_itr).key, pdu_length_tag ) ){
+ if( pmt::equal( (*d_tags_itr).key, PDU_LENGTH_TAG ) ){
if( (*d_tags_itr).offset != abs_N ){
throw std::runtime_error("expected next pdu length tag on a different item...");
}
@@ -91,7 +91,7 @@ gr_tagged_stream_to_pdu::work(int noutput_items,
// copy any tags in this range into our meta object
get_tags_in_range(d_tags, 0, abs_N, abs_N+ncopy);
for(d_tags_itr = d_tags.begin(); d_tags_itr != d_tags.end(); d_tags_itr++){
- if( ! equal( (*d_tags_itr).key, pdu_length_tag ) ){
+ if( ! equal( (*d_tags_itr).key, PDU_LENGTH_TAG ) ){
d_pdu_meta = dict_add(d_pdu_meta, (*d_tags_itr).key, (*d_tags_itr).value);
}
}
@@ -127,7 +127,7 @@ void gr_tagged_stream_to_pdu::send_message(){
}
pmt::pmt_t msg = pmt::cons( d_pdu_meta, d_pdu_vector );
- message_port_pub( pdu_port_id, msg );
+ message_port_pub( PDU_PORT_ID, msg );
d_pdu_meta = pmt::PMT_NIL;
d_pdu_vector = pmt::PMT_NIL;
diff --git a/gnuradio-core/src/lib/io/gr_tuntap_pdu.cc b/gnuradio-core/src/lib/io/gr_tuntap_pdu.cc
deleted file mode 100644
index 8dd4b18a10..0000000000
--- a/gnuradio-core/src/lib/io/gr_tuntap_pdu.cc
+++ /dev/null
@@ -1,145 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2012 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GNU Radio; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <gr_tuntap_pdu.h>
-#include <gr_io_signature.h>
-#include <cstdio>
-#include <errno.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <stdexcept>
-#include <string.h>
-#include <iostream>
-#include <gr_pdu.h>
-#include <boost/format.hpp>
-
-#if (defined(linux) || defined(__linux) || defined(__linux__))
-
-#include <sys/ioctl.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-
-#include <arpa/inet.h>
-#include <linux/if.h>
-
-
-// public constructor that returns a shared_ptr
-
-gr_tuntap_pdu_sptr
-gr_make_tuntap_pdu (std::string dev, int MTU)
-{
- return gnuradio::get_initial_sptr(new gr_tuntap_pdu(dev, MTU));
-}
-
-gr_tuntap_pdu::gr_tuntap_pdu (std::string dev, int MTU)
- : gr_stream_pdu_base(MTU)
-{
-
- // make the tuntap
- char dev_cstr[1024];
- memset(dev_cstr, 0x00, 1024);
- strncpy(dev_cstr, dev.c_str(), std::min(sizeof(dev_cstr), dev.size()));
- d_fd = tun_alloc(dev_cstr);
- if(d_fd <= 0){
- throw std::runtime_error("TunTap make: tun_alloc failed (are you running as root?)");
- }
-
- std::cout << boost::format(
- "Allocated virtual ethernet interface: %s\n"
- "You must now use ifconfig to set its IP address. E.g.,\n"
- " $ sudo ifconfig %s 192.168.200.1\n"
- "Be sure to use a different address in the same subnet for each machine.\n"
- ) % dev % dev << std::endl;
-
- // set up output message port
- message_port_register_out(pmt::mp("pdus"));
- start_rxthread(pmt::mp("pdus"));
-
- // set up input message port
- message_port_register_in(pmt::mp("pdus"));
- set_msg_handler(pmt::mp("pdus"), boost::bind(&gr_tuntap_pdu::send, this, _1));
-}
-
-
-int gr_tuntap_pdu::tun_alloc(char *dev, int flags) {
- struct ifreq ifr;
- int fd, err;
- const char *clonedev = "/dev/net/tun";
-
- /* Arguments taken by the function:
- *
- * char *dev: the name of an interface (or '\0'). MUST have enough
- * space to hold the interface name if '\0' is passed
- * int flags: interface flags (eg, IFF_TUN etc.)
- */
-
- /* open the clone device */
- if( (fd = open(clonedev, O_RDWR)) < 0 ) {
- return fd;
- }
-
- /* preparation of the struct ifr, of type "struct ifreq" */
- memset(&ifr, 0, sizeof(ifr));
-
- ifr.ifr_flags = flags; /* IFF_TUN or IFF_TAP, plus maybe IFF_NO_PI */
-
- if (*dev) {
- /* if a device name was specified, put it in the structure; otherwise,
- * the kernel will try to allocate the "next" device of the
- * specified type */
- strncpy(ifr.ifr_name, dev, IFNAMSIZ);
- }
-
- /* try to create the device */
- if( (err = ioctl(fd, TUNSETIFF, (void *) &ifr)) < 0 ) {
- close(fd);
- return err;
- }
-
- /* if the operation was successful, write back the name of the
- * interface to the variable "dev", so the caller can know
- * it. Note that the caller MUST reserve space in *dev (see calling
- * code below) */
- strcpy(dev, ifr.ifr_name);
-
- /* this is the special file descriptor that the caller will use to talk
- * with the virtual interface */
- return fd;
-}
-
-#else //if not linux
-
-gr_block_sptr
-gr_make_tuntap_pdu(std::string dev, int MTU)
-{
- gr_block_sptr rv;
- throw std::runtime_error("tuntap only implemented on linux");
- return rv;
-}
-
-#endif
diff --git a/gnuradio-core/src/lib/io/gr_tuntap_pdu.h b/gnuradio-core/src/lib/io/gr_tuntap_pdu.h
deleted file mode 100644
index 18c83f42b2..0000000000
--- a/gnuradio-core/src/lib/io/gr_tuntap_pdu.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2012 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GNU Radio; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef INCLUDED_GR_TUNTAP_PDU_H
-#define INCLUDED_GR_TUNTAP_PDU_H
-
-#include <gr_core_api.h>
-#include <gr_sync_block.h>
-#include <gr_message.h>
-#include <gr_msg_queue.h>
-#include <gr_stream_pdu_base.h>
-
-#if (defined(linux) || defined(__linux) || defined(__linux__))
-
-#include <linux/if_tun.h>
-
-class gr_tuntap_pdu;
-typedef boost::shared_ptr<gr_tuntap_pdu> gr_tuntap_pdu_sptr;
-
-GR_CORE_API gr_tuntap_pdu_sptr gr_make_tuntap_pdu (std::string dev, int MTU=10000);
-
-/*!
- * \brief Gather received items into messages and insert into msgq
- * \ingroup sink_blk
- */
-class GR_CORE_API gr_tuntap_pdu : public gr_stream_pdu_base
-{
- private:
- friend GR_CORE_API gr_tuntap_pdu_sptr
- gr_make_tuntap_pdu(std::string dev, int MTU);
- int tun_alloc(char* dev, int flags = IFF_TAP | IFF_NO_PI);
- std::string d_dev;
- protected:
- gr_tuntap_pdu (std::string dev, int MTU=10000);
-
- public:
- ~gr_tuntap_pdu () {}
-
-};
-
-#else // if not linux
-
-class gr_tuntap_pdu
-{
-private:
- gr_tuntap_pdu() {};
-public:
- ~gr_tuntap_pdu() {};
-};
-
-GR_CORE_API gr_block_sptr gr_make_tuntap_pdu (std::string dev, int MTU=0);
-
-#endif
-
-#endif /* INCLUDED_GR_TUNTAP_PDU_H */
diff --git a/gnuradio-core/src/lib/io/gr_tuntap_pdu.i b/gnuradio-core/src/lib/io/gr_tuntap_pdu.i
deleted file mode 100644
index 589bbc3853..0000000000
--- a/gnuradio-core/src/lib/io/gr_tuntap_pdu.i
+++ /dev/null
@@ -1,30 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2005 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GNU Radio; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street,
- * Boston, MA 02110-1301, USA.
- */
-
-GR_SWIG_BLOCK_MAGIC(gr,tuntap_pdu);
-
-%{
-#include <gr_tuntap_pdu.h>
-%}
-
-%include "gr_tuntap_pdu.h"
-
diff --git a/gnuradio-core/src/lib/io/io.i b/gnuradio-core/src/lib/io/io.i
index e2de4eb976..33cc906e92 100644
--- a/gnuradio-core/src/lib/io/io.i
+++ b/gnuradio-core/src/lib/io/io.i
@@ -49,7 +49,6 @@
#include <gr_tagged_stream_to_pdu.h>
#include <gr_message_debug.h>
#include <gr_pdu.h>
-#include <gr_tuntap_pdu.h>
#include <gr_socket_pdu.h>
%}
@@ -77,7 +76,6 @@
%include "gr_tagged_stream_to_pdu.i"
%include "gr_message_debug.i"
%include "gr_pdu.i"
-%include "gr_tuntap_pdu.i"
%include "gr_socket_pdu.i"
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_pack_k_bits.py b/gnuradio-core/src/python/gnuradio/gr/qa_pack_k_bits.py
deleted file mode 100755
index 25fc5e9fcc..0000000000
--- a/gnuradio-core/src/python/gnuradio/gr/qa_pack_k_bits.py
+++ /dev/null
@@ -1,67 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2006,2010 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-#
-
-from gnuradio import gr, gr_unittest
-import random
-
-class test_pack(gr_unittest.TestCase):
-
- def setUp(self):
- self.tb = gr.top_block ()
-
- def tearDown(self):
- self.tb = None
-
- def test_001(self):
- src_data = (1,0,1,1,0,1,1,0)
- expected_results = (1,0,1,1,0,1,1,0)
- src = gr.vector_source_b(src_data,False)
- op = gr.pack_k_bits_bb(1)
- dst = gr.vector_sink_b()
- self.tb.connect(src, op, dst)
- self.tb.run()
- self.assertEqual(expected_results, dst.data())
-
- def test_002(self):
- src_data = (1,0,1,1,0,0,0,1)
- expected_results = ( 2, 3, 0, 1)
- src = gr.vector_source_b(src_data,False)
- op = gr.pack_k_bits_bb(2)
- dst = gr.vector_sink_b()
- self.tb.connect(src, op, dst)
- self.tb.run()
- #self.assertEqual(expected_results, dst.data())
- self.assertEqual(expected_results, dst.data())
-
- def test_003(self):
- src_data = expected_results = map(lambda x: random.randint(0,3), range(10));
- src = gr.vector_source_b( src_data );
- pack = gr.pack_k_bits_bb(2);
- unpack = gr.unpack_k_bits_bb(2);
- snk = gr.vector_sink_b();
- self.tb.connect(src,unpack,pack,snk);
- self.tb.run()
- self.assertEqual(list(expected_results), list(snk.data()));
-
-if __name__ == '__main__':
- gr_unittest.run(test_pack, "test_pack.xml")
-
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_unpack_k_bits.py b/gnuradio-core/src/python/gnuradio/gr/qa_unpack_k_bits.py
deleted file mode 100755
index bb4e7733d4..0000000000
--- a/gnuradio-core/src/python/gnuradio/gr/qa_unpack_k_bits.py
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2006,2010 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-#
-
-from gnuradio import gr, gr_unittest
-import random
-
-class test_unpack(gr_unittest.TestCase):
-
- def setUp(self):
- self.tb = gr.top_block ()
-
- def tearDown(self):
- self.tb = None
-
- def test_001(self):
- src_data = (1,0,1,1,0,1,1,0)
- expected_results = (1,0,1,1,0,1,1,0)
- src = gr.vector_source_b(src_data,False)
- op = gr.unpack_k_bits_bb(1)
- dst = gr.vector_sink_b()
- self.tb.connect(src, op, dst)
- self.tb.run()
- self.assertEqual(expected_results, dst.data())
-
- def test_002(self):
- src_data = ( 2, 3, 0, 1)
- expected_results = (1,0,1,1,0,0,0,1)
- src = gr.vector_source_b(src_data,False)
- op = gr.unpack_k_bits_bb(2)
- dst = gr.vector_sink_b()
- self.tb.connect(src, op, dst)
- self.tb.run()
- self.assertEqual(expected_results, dst.data())
-
-
-if __name__ == '__main__':
- gr_unittest.run(test_unpack, "test_unpack.xml")
-