diff options
author | Justin Maggard <jmaggard@users.sourceforge.net> | 2011-02-18 02:17:24 +0300 |
---|---|---|
committer | Justin Maggard <jmaggard@users.sourceforge.net> | 2011-02-18 02:17:24 +0300 |
commit | 4d6f4a171f94f2334072f8f7d42ccca15dc8e073 (patch) | |
tree | d476e664ce6c23ae698122d5b84c20106201a184 /upnpdescgen.c | |
parent | 0d0af83b6077220f4c8bbd4d83733dfa0e7d75e4 (diff) |
* Add PnP-X support.
Diffstat (limited to 'upnpdescgen.c')
-rw-r--r-- | upnpdescgen.c | 41 |
1 files changed, 25 insertions, 16 deletions
diff --git a/upnpdescgen.c b/upnpdescgen.c index 81ff38f..bc577a9 100644 --- a/upnpdescgen.c +++ b/upnpdescgen.c @@ -117,37 +117,46 @@ static const char xmlver[] = static const char root_service[] = "scpd xmlns=\"urn:schemas-upnp-org:service-1-0\""; static const char root_device[] = - "root xmlns=\"urn:schemas-upnp-org:device-1-0\""; + "root xmlns=\"urn:schemas-upnp-org:device-1-0\"" +#if PNPX + " xmlns:pnpx=\"http://schemas.microsoft.com/windows/pnpx/2005/11\"" + " xmlns:df=\"http://schemas.microsoft.com/windows/2008/09/devicefoundation\"" +#endif + ; -/* root Description of the UPnP Device - * fixed to match UPnP_IGD_InternetGatewayDevice 1.0.pdf - * presentationURL is only "recommended" but the router doesn't appears - * in "Network connections" in Windows XP if it is not present. */ +/* root Description of the UPnP Device */ static const struct XMLElt rootDesc[] = { {root_device, INITHELPER(1,2)}, {"specVersion", INITHELPER(3,2)}, - {"device", INITHELPER(5,14)}, + {"device", INITHELPER(5,(14+PNPX))}, {"/major", "1"}, {"/minor", "0"}, {"/deviceType", "urn:schemas-upnp-org:device:MediaServer:1"}, +#if PNPX == 5 + {"/pnpx:X_hardwareId", pnpx_hwid}, + {"/pnpx:X_compatibleId", "MS_DigitalMediaDeviceClass_DMS_V001"}, + {"/pnpx:X_deviceCategory", "MediaDevices"}, + {"/df:X_deviceCategory", "Multimedia.DMS"}, + {"/microsoft:magicPacketWakeSupported xmlns:microsoft=\"urn:schemas-microsoft-com:WMPNSS-1-0\"", "0"}, +#endif {"/friendlyName", friendly_name}, /* required */ {"/manufacturer", ROOTDEV_MANUFACTURER}, /* required */ {"/manufacturerURL", ROOTDEV_MANUFACTURERURL}, /* optional */ {"/modelDescription", ROOTDEV_MODELDESCRIPTION}, /* recommended */ - {"/modelName", ROOTDEV_MODELNAME}, /* required */ + {"/modelName", modelname}, /* required */ {"/modelNumber", modelnumber}, {"/modelURL", ROOTDEV_MODELURL}, {"/serialNumber", serialnumber}, {"/UDN", uuidvalue}, /* required */ {"/dlna:X_DLNADOC xmlns:dlna=\"urn:schemas-dlna-org:device-1-0\"", "DMS-1.50"}, {"/presentationURL", presentationurl}, /* recommended */ - {"iconList", INITHELPER(19,4)}, - {"serviceList", INITHELPER(43,3)}, - {"icon", INITHELPER(23,5)}, - {"icon", INITHELPER(28,5)}, - {"icon", INITHELPER(33,5)}, - {"icon", INITHELPER(38,5)}, + {"iconList", INITHELPER((19+PNPX),4)}, + {"serviceList", INITHELPER((43+PNPX),3)}, + {"icon", INITHELPER((23+PNPX),5)}, + {"icon", INITHELPER((28+PNPX),5)}, + {"icon", INITHELPER((33+PNPX),5)}, + {"icon", INITHELPER((38+PNPX),5)}, {"/mimetype", "image/png"}, {"/width", "48"}, {"/height", "48"}, @@ -168,9 +177,9 @@ static const struct XMLElt rootDesc[] = {"/height", "120"}, {"/depth", "24"}, {"/url", "/icons/lrg.jpg"}, - {"service", INITHELPER(46,5)}, - {"service", INITHELPER(51,5)}, - {"service", INITHELPER(56,5)}, + {"service", INITHELPER((46+PNPX),5)}, + {"service", INITHELPER((51+PNPX),5)}, + {"service", INITHELPER((56+PNPX),5)}, {"/serviceType", "urn:schemas-upnp-org:service:ContentDirectory:1"}, {"/serviceId", "urn:upnp-org:serviceId:ContentDirectory"}, {"/controlURL", CONTENTDIRECTORY_CONTROLURL}, |