2009-11-01から1ヶ月間の記事一覧

Pthread の排他処理のサンプル

自分用。 ソース (pthread_mutex.c) #include <stdio.h> #include <unistd.h> #include <pthread.h> #include <stdlib.h> #define MAX_THREADS 3 void start_threads(void); void thread_main(void *args); void synchronized_printf(const char* s); static pthread_mutex_t mut = PTHREAD_MUTEX_I</stdlib.h></pthread.h></unistd.h></stdio.h>…

C言語で、Gratuitous ARPパケットを送信するサンプル

自分用メモ。 #include <errno.h> #include <stdio.h> #include <stdlib.h> #include <netdb.h> #include <string.h> #include <unistd.h> #include <ctype.h> #include <sys/types.h> #include <sys/socket.h> #include <sys/ioctl.h> #include <sys/param.h> #include <sys/sysctl.h> #include <arpa/inet.h> #include </arpa/inet.h></sys/sysctl.h></sys/param.h></sys/ioctl.h></sys/socket.h></sys/types.h></ctype.h></unistd.h></string.h></netdb.h></stdlib.h></stdio.h></errno.h>

C言語でNICの情報を取得するサンプル

eth0 の IPアドレス、MACアドレス、ifIndexを取得するサンプル。自分用メモ。 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/ioctl.h> #include <net/if.h> #include <netinet/in.h> #include <arpa/inet.h> void get_ifinfo(char *devname, struct ifreq *ifreq, int flavor) { int iofd; if ((iofd = socket(A</arpa/inet.h></netinet/in.h></net/if.h></sys/ioctl.h></string.h></stdlib.h></stdio.h>…