From 40ca2e594fa15e70aba00f0b5b6764ce175ade6c Mon Sep 17 00:00:00 2001 From: Jeffrey Armstrong Date: Sat, 25 Feb 2017 09:18:47 -0500 Subject: Initial, non-working telnet commit --- dos/main.c | 95 +++++++++----------------------------------------------------- 1 file changed, 13 insertions(+), 82 deletions(-) (limited to 'dos/main.c') diff --git a/dos/main.c b/dos/main.c index bde9462..d5a17e6 100644 --- a/dos/main.c +++ b/dos/main.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009 Jeffrey Armstrong + * Copyright (c) 2009, 2017 Jeffrey Armstrong * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -36,7 +36,15 @@ #include #include +#ifdef HTTPD #include "httpd.h" +#else +#ifdef TELNET +#include "telnet.h" +#else +#error No app defined +#endif +#endif #include "main.h" /* Must come first - contains necessary declaration of * uip_tcp_appstate @@ -47,42 +55,13 @@ #include "uip_arp.h" #include "slipdev.h" #include "slipfos.h" - +#include "mainutil.h" #include "timer.h" #define BUF ((struct uip_eth_hdr *)&uip_buf[0]) -int ip_from_string(const char *string, int ip[4]) -{ -char *token; -char *original; -int i, ret; - - for(i=0;i<4;i++) ip[i] = 0; - if(string == NULL) return -1; - - original = (char *)malloc((strlen(string)+1)*sizeof(char)); - memcpy(original,string,strlen(string)+1); - - ret = 1; - token = strtok(original,"."); - for(i=0;i<4;i++) { - if(token == NULL) { - ret = -1; - break; - } - ip[i] = atoi(token); - token = strtok(NULL,"."); - } - - token = NULL; - free(original); - - return ret; -} - -void header() { +void httpd_header() { printf("+----------------------------------------------------------+\n"); printf("| uIP/FOSSIL HTTP Server Version 1.2 |\n"); printf("| Copyright 2009, 2016 Jeffrey Armstrong |\n"); @@ -97,57 +76,16 @@ int i; uip_ipaddr_t ipaddr; struct timer periodic_timer; -int ip[4]; - - header(); + httpd_header(); if(argc != 6) { printf("Usage: %s \n",argv[0]); return 0; } - timer_set(&periodic_timer, CLOCK_SECOND / 2); - - /* Initialize the FOSSIL driver here */ - printf("Initializing FOSSIL driver..."); - if(slip_fossil_init(atoi(argv[4]),atoi(argv[5])) < 0) { - printf("FAILED\nExiting...\n"); + if(common_init(argv[1], argv[2], argv[3], argv[4], argv[5]) == 0) { return 0; } - printf("OK\n"); - - printf("Initializing SLIP interface..."); - slipdev_init(); - printf("OK\n"); - - printf("Initializing uIP stack..."); - uip_init(); - printf("OK\n"); - - /* Set IP and netmask from command line arguments */ - for(i=1;i<4;i++) { - if(ip_from_string(argv[i],ip) < 0) { - printf("Error parsing ip/netmask in argument %d: %s\nMake sure this argument is a valid 4-element dot-delimited string.\n",i,argv[i]); - return 0; - } else { - uip_ipaddr(&ipaddr, ip[0], ip[1], ip[2], ip[3]); - switch(i) { - case 1: - uip_setdraddr(&ipaddr); - break; - case 2: - uip_sethostaddr(&ipaddr); - break; - case 3: - uip_setnetmask(&ipaddr); - break; - } - } - } - - printf("Initializing httpd server..."); - httpd_init(); - printf("OK\n"); #ifdef INITIALIZE_ONLY return 1; @@ -197,10 +135,3 @@ int ip[4]; return 0; } - -void uip_log(char *m) -{ -#ifdef DEBUG - printf("uIP log message: %s\n", m); -#endif -} -- cgit v1.2.3