////////////////////////////////////////////////////////////////////// // PPPTraf 1.0. (C) DiSKiLLeR, 9/2/2000. (diskiller@cnbinc.com) // // // // This program is distributed under the terms of the GNU License. // // Please refer to the file README and COPYING. // ////////////////////////////////////////////////////////////////////// #include #include #include "bpf.h" #include "data.h" /** little helper function **/ static void createthread(void *, void *); int main() { struct ahost *data; data_init(); bpf_init("tun0"); /* uh oh ... */ createthread((void *)bpf_loop, NULL); data = data_get(); interface_init(); interface_loop(data); printf("\nShutting down kernel BPF... "); fflush(stdout); bpf_shutdown(); printf("done.\n"); exit(0); } static void createthread(void *func, void *param) { pthread_t th; pthread_attr_t attr; pthread_attr_init(&attr); pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); pthread_create(&th, &attr, (void *)func, (void *)param); }