Annotation of embedaddon/miniupnpd/testupnpdescgen.c, revision 1.1

1.1     ! misho       1: /* $Id: testupnpdescgen.c,v 1.18 2008/07/10 09:18:34 nanard Exp $ */
        !             2: /* MiniUPnP project
        !             3:  * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
        !             4:  * (c) 2006-2008 Thomas Bernard 
        !             5:  * This software is subject to the conditions detailed
        !             6:  * in the LICENCE file provided within the distribution */
        !             7: 
        !             8: #include <stdlib.h>
        !             9: #include <stdio.h>
        !            10: #include <string.h>
        !            11: 
        !            12: #include "config.h"
        !            13: #include "upnpdescgen.h"
        !            14: 
        !            15: char uuidvalue[] = "uuid:12345678-0000-0000-0000-00000000abcd";
        !            16: char serialnumber[] = "12345678";
        !            17: char modelnumber[] = "1";
        !            18: char presentationurl[] = "http://192.168.0.1:8080/";
        !            19: 
        !            20: char * use_ext_ip_addr = NULL;
        !            21: const char * ext_if_name = "eth0";
        !            22: 
        !            23: int getifaddr(const char * ifname, char * buf, int len)
        !            24: {
        !            25:        strncpy(buf, "1.2.3.4", len);
        !            26:        return 0;
        !            27: }
        !            28: 
        !            29: int upnp_get_portmapping_number_of_entries()
        !            30: {
        !            31:        return 42;
        !            32: }
        !            33: 
        !            34: /* To be improved */
        !            35: int
        !            36: xml_pretty_print(const char * s, int len, FILE * f)
        !            37: {
        !            38:        int n = 0, i;
        !            39:        int elt_close = 0;
        !            40:        int c, indent = 0;
        !            41:        while(len > 0)
        !            42:        {
        !            43:                c = *(s++);     len--;
        !            44:                switch(c)
        !            45:                {
        !            46:                case '<':
        !            47:                        if(len>0 && *s == '/')
        !            48:                                elt_close++;
        !            49:                        else if(len>0 && *s == '?')
        !            50:                                elt_close = 1;
        !            51:                        else
        !            52:                                elt_close = 0;
        !            53:                        if(elt_close!=1)
        !            54:                        {
        !            55:                                if(elt_close > 1)
        !            56:                                        indent--;
        !            57:                                fputc('\n', f); n++;
        !            58:                                for(i=indent; i>0; i--)
        !            59:                                        fputc(' ', f);
        !            60:                                n += indent;
        !            61:                        }
        !            62:                        fputc(c, f); n++;
        !            63:                        break;
        !            64:                case '>':
        !            65:                        fputc(c, f); n++;
        !            66:                        if(elt_close==1)
        !            67:                        {
        !            68:                                /*fputc('\n', f); n++; */
        !            69:                                //elt_close = 0;
        !            70:                                if(indent > 0)
        !            71:                                        indent--;
        !            72:                        }
        !            73:                        else if(elt_close == 0)
        !            74:                                indent++;
        !            75:                        break;
        !            76:                default:
        !            77:                        fputc(c, f); n++;
        !            78:                }
        !            79:        }
        !            80:        return n;
        !            81: }
        !            82: 
        !            83: /* stupid test */
        !            84: const char * str1 = "Prefix123String";
        !            85: const char * str2 = "123String";
        !            86: 
        !            87: void stupid_test()
        !            88: {
        !            89:        printf("str1:'%s' str2:'%s'\n", str1, str2);
        !            90:        printf("str1:%p str2:%p str2-str1:%ld\n", str1, str2, (long)(str2-str1));
        !            91: }
        !            92: 
        !            93: /* main */
        !            94: 
        !            95: int
        !            96: main(int argc, char * * argv)
        !            97: {
        !            98:        char * rootDesc;
        !            99:        int rootDescLen;
        !           100:        char * s;
        !           101:        int l;
        !           102:        rootDesc = genRootDesc(&rootDescLen);
        !           103:        xml_pretty_print(rootDesc, rootDescLen, stdout);
        !           104:        free(rootDesc);
        !           105:        printf("\n-------------\n");
        !           106:        s = genWANIPCn(&l);
        !           107:        xml_pretty_print(s, l, stdout);
        !           108:        free(s);
        !           109:        printf("\n-------------\n");
        !           110:        s = genWANCfg(&l);
        !           111:        xml_pretty_print(s, l, stdout);
        !           112:        free(s);
        !           113:        printf("\n-------------\n");
        !           114: #ifdef ENABLE_L3F_SERVICE
        !           115:        s = genL3F(&l);
        !           116:        xml_pretty_print(s, l, stdout);
        !           117:        free(s);
        !           118:        printf("\n-------------\n");
        !           119: #endif
        !           120: #ifdef ENABLE_EVENTS
        !           121:        s = getVarsWANIPCn(&l);
        !           122:        xml_pretty_print(s, l, stdout);
        !           123:        free(s);
        !           124:        printf("\n-------------\n");
        !           125:        s = getVarsWANCfg(&l);
        !           126:        xml_pretty_print(s, l, stdout);
        !           127:        free(s);
        !           128:        printf("\n-------------\n");
        !           129: #ifdef ENABLE_L3F_SERVICE
        !           130:        s = getVarsL3F(&l);
        !           131:        xml_pretty_print(s, l, stdout);
        !           132:        free(s);
        !           133:        printf("\n-------------\n");
        !           134: #endif
        !           135: #endif
        !           136: /*
        !           137:        stupid_test();
        !           138: */
        !           139:        return 0;
        !           140: }
        !           141: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>