diff options
Diffstat (limited to 'packages/genlist')
-rw-r--r-- | packages/genlist/.mtn2git_empty | 0 | ||||
-rw-r--r-- | packages/genlist/files/.mtn2git_empty | 0 | ||||
-rw-r--r-- | packages/genlist/files/Makefile | 25 | ||||
-rw-r--r-- | packages/genlist/files/genlist.c | 75 | ||||
-rw-r--r-- | packages/genlist/genlist.bb | 20 |
5 files changed, 120 insertions, 0 deletions
diff --git a/packages/genlist/.mtn2git_empty b/packages/genlist/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/genlist/.mtn2git_empty diff --git a/packages/genlist/files/.mtn2git_empty b/packages/genlist/files/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/genlist/files/.mtn2git_empty diff --git a/packages/genlist/files/Makefile b/packages/genlist/files/Makefile new file mode 100644 index 0000000000..e5ef587d51 --- /dev/null +++ b/packages/genlist/files/Makefile @@ -0,0 +1,25 @@ +#CC = gcc +CFLAGS = -Wall -Os + +#VERSION = \"V0.10\" +#CFLAGS += -DVERSION=$(VERSION) + +# for use with LIRC, uncomment the following two lines +# CFLAGS += -DUSELIRC +# LDFLAGS += -llirc_client + +####################################################################### + +SRC = genlist.c +OBJ = genlist.o + +all: genlist + +genlist: $(OBJ) + $(CC) -s -o genlist $(OBJ) $(LDFLAGS) + +genlist.o: genlist.c + + +clean: + rm -f $(OBJ) genlist diff --git a/packages/genlist/files/genlist.c b/packages/genlist/files/genlist.c new file mode 100644 index 0000000000..3170f36107 --- /dev/null +++ b/packages/genlist/files/genlist.c @@ -0,0 +1,75 @@ +/* (Platform independant) IP lister (c)2000-1 Craig Cheetham + * Released under the GNU Licence. - Spread the source, not + * the binaries! (ahem fixed) + * + * E-Mail: craig_cheetham@yahoo.co.uk + * + */ +#include <stdio.h> +#include <string.h> +#include <netinet/in.h> + +union ipaddy +{ + unsigned char c_num[4]; + unsigned long l_num; +}; + +int parse(char *string, char *dest) +{ + int i = 0; + unsigned long num; + char *p = string, *n; + + strtok(p,"."); + + while(p && i<4) { + if((num = atol(p)) > 255) return 1; + dest[i++] = num; + p = strtok(0,"."); + } + + return 0; +} + +int main (int argc, char **argv) +{ + union ipaddy source, dest; + + if(argc < 3) { + printf("Platform independant IP lister, by Craig Cheetham (c)2000-1\n"); + printf("===========================================================\n\n"); + printf("Usage: %s <start ip> <end ip>\n\n", argv[0]); + printf("Examples:\n"); + printf("\t\t%s 205 206\t\t\t# Class A scan\n", argv[0]); + printf("\t\t%s 205.214 205.215\t\t# Class B scan\n", argv[0]); + printf("\t\t%s 205.214.14 205.214.56\t# Class C scan\n", argv[0]); + exit(0); + } + + source.l_num = dest.l_num = 0; + + if(parse(argv[1], source.c_num)) { + fprintf(stderr, "Error: Source IP is jarg.\n"); + return 0; + } + + if(parse(argv[2], dest.c_num)) { + fprintf(stderr, "Error: Dest IP is jarg.\n"); + return 0; + } + + while(htonl(source.l_num) < htonl(dest.l_num)) { + + if ((source.c_num[3]!=0) && (source.c_num[3]!=255)) + printf("%u.%u.%u.%u\n", + source.c_num[0], + source.c_num[1], + source.c_num[2], + source.c_num[3]); + + source.l_num = htonl(htonl(source.l_num)+1); + } + + return 0; +} diff --git a/packages/genlist/genlist.bb b/packages/genlist/genlist.bb new file mode 100644 index 0000000000..4fd6160cc2 --- /dev/null +++ b/packages/genlist/genlist.bb @@ -0,0 +1,20 @@ +SECTION = "utility" +DESCRIPTION = "IP Address List Generator" +MAINTAINER = "Bob Davies (tyggerbob@gmail.com)" + +SRC_URI = "file://genlist.c \ + file://Makefile" + +DEFAULT_PREFERENCE="-1" + + +S = "${WORKDIR}" +LICENSE = "GPL" +do_compile() { + oe_runmake all +} + +do_install() { + install -d ${D}${bindir} + install -m 0755 genlist ${D}${bindir}/ +} |