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

📄 scpd_basic.c

📁 UPnP协议中的控制设备(CD)的例子程序
💻 C
字号:
/*** Copyright (c) 2004 Axis Communications AB.** All rights reserved.** ** Redistribution and use in source and binary forms, with or without** modification, are permitted provided that the following conditions are met:** ** * Redistributions of source code must retain the above copyright notice,**   this list of conditions and the following disclaimer.** * Redistributions in binary form must reproduce the above copyright notice,**   this list of conditions and the following disclaimer in the documentation**   and/or other materials provided with the distribution.** * Neither name of Axis Communications AB nor the names of its contributors**   may be used to endorse or promote products derived from this software**   without specific prior written permission.** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS** ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR** CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,** EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,** PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR** PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY** OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING** NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.*/#define _GNU_SOURCE#include <stdio.h>#include <stdlib.h>#include <string.h>#include <errno.h>#include <syslog.h>#include <upnp/upnp.h>#include "../main/debug.h"#include "basic_device.h"static char *scpdBasicDesc = "\<?xml version=\"1.0\"?>\r\n\<scpd xmlns=\"urn:schemas-upnp-org:service-1-0\">\r\n\  <specVersion>\r\n\    <major>1</major>\r\n\    <minor>0</minor>\r\n\  </specVersion>\r\n\  <serviceStateTable>\r\n\    <stateVariable sendEvents=\"no\">\r\n\      <name>Status</name>\r\n\      <dataType>string</dataType>\r\n\      <defaultValue>OK</defaultValue>\r\n\      <allowedValueList>\r\n\        <allowedValue>OK</allowedValue>\r\n\      </allowedValueList>\r\n\    </stateVariable>\r\n\  </serviceStateTable>\r\n\</scpd>\r\n";voidcreateSCPDBasicDescDoc(struct GlobalConfig *config){  char *tmp;  FILE *doc;  /* Create SCPD document for basic service. */  asprintf(&tmp, "%s/%s", WEB_SERVER_ROOT, SCPD_BASIC_DOC);  doc = fopen(tmp, "w+");  if (doc == NULL) {    syslog(LOG_CRIT, "fopen(%s): %s", tmp, strerror(errno));    exit(EXIT_FAILURE);  }  fprintf(doc, scpdBasicDesc);  fclose(doc);  free(tmp);}voidremoveSCPDBasicDescDoc(){  char *tmp;  asprintf(&tmp, "%s/%s", WEB_SERVER_ROOT, SCPD_BASIC_DOC);  unlink(tmp);  free(tmp);}

⌨️ 快捷键说明

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