⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testupnpdescgen.c

📁 miniupnpd可以在嵌入式linux中实现upnp功能
💻 C
字号:
/* $Id: testupnpdescgen.c,v 1.18 2008/07/10 09:18:34 nanard Exp $ *//* MiniUPnP project * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/ * (c) 2006-2008 Thomas Bernard  * This software is subject to the conditions detailed * in the LICENCE file provided within the distribution */#include <stdlib.h>#include <stdio.h>#include <string.h>#include "config.h"#include "upnpdescgen.h"char uuidvalue[] = "uuid:12345678-0000-0000-0000-00000000abcd";char serialnumber[] = "12345678";char modelnumber[] = "1";char presentationurl[] = "http://192.168.0.1:8080/";char * use_ext_ip_addr = NULL;const char * ext_if_name = "eth0";int getifaddr(const char * ifname, char * buf, int len){	strncpy(buf, "1.2.3.4", len);	return 0;}int upnp_get_portmapping_number_of_entries(){	return 42;}/* To be improved */intxml_pretty_print(const char * s, int len, FILE * f){	int n = 0, i;	int elt_close = 0;	int c, indent = 0;	while(len > 0)	{		c = *(s++);	len--;		switch(c)		{		case '<':			if(len>0 && *s == '/')				elt_close++;			else if(len>0 && *s == '?')				elt_close = 1;			else				elt_close = 0;			if(elt_close!=1)			{				if(elt_close > 1)					indent--;				fputc('\n', f); n++;				for(i=indent; i>0; i--)					fputc(' ', f);				n += indent;			}			fputc(c, f); n++;			break;		case '>':			fputc(c, f); n++;			if(elt_close==1)			{				/*fputc('\n', f); n++; */				//elt_close = 0;				if(indent > 0)					indent--;			}			else if(elt_close == 0)				indent++;			break;		default:			fputc(c, f); n++;		}	}	return n;}/* stupid test */const char * str1 = "Prefix123String";const char * str2 = "123String";void stupid_test(){	printf("str1:'%s' str2:'%s'\n", str1, str2);	printf("str1:%p str2:%p str2-str1:%ld\n", str1, str2, (long)(str2-str1));}/* main */intmain(int argc, char * * argv){	char * rootDesc;	int rootDescLen;	char * s;	int l;	rootDesc = genRootDesc(&rootDescLen);	xml_pretty_print(rootDesc, rootDescLen, stdout);	free(rootDesc);	printf("\n-------------\n");	s = genWANIPCn(&l);	xml_pretty_print(s, l, stdout);	free(s);	printf("\n-------------\n");	s = genWANCfg(&l);	xml_pretty_print(s, l, stdout);	free(s);	printf("\n-------------\n");#ifdef ENABLE_L3F_SERVICE	s = genL3F(&l);	xml_pretty_print(s, l, stdout);	free(s);	printf("\n-------------\n");#endif#ifdef ENABLE_EVENTS	s = getVarsWANIPCn(&l);	xml_pretty_print(s, l, stdout);	free(s);	printf("\n-------------\n");	s = getVarsWANCfg(&l);	xml_pretty_print(s, l, stdout);	free(s);	printf("\n-------------\n");#ifdef ENABLE_L3F_SERVICE	s = getVarsL3F(&l);	xml_pretty_print(s, l, stdout);	free(s);	printf("\n-------------\n");#endif#endif/*	stupid_test();*/	return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -