Annotation of embedaddon/miniupnpd/minissdpd/README, revision 1.1.1.1

1.1       misho       1:  * MiniSSDPd - SSDP daemon
                      2: 
                      3: (c) Thomas Bernard
                      4: http://miniupnp.free.fr/ or https://miniupnp.tuxfamily.org/
                      5: https://github.com/miniupnp/miniupnp/
                      6: 
                      7: MiniSSDPd is a daemon that :
                      8: 1 - keeps track of all UPnP devices announcing themselves on the network.
                      9: its database can be queried by local processes using a protocol based on
                     10: a unix socket. That enables local processes to quickly discover UPnP devices
                     11: without broadcasting SSDP message and waiting several seconds for a response.
                     12: 2 - keeps a database of local UPnP devices hosted on the machine and
                     13: answering SSDP searchs on their behalf. It enables to run several UPnP devices,
                     14: like an IGD and a MediaServer, on the same machine.
                     15: 
                     16: to build, use GNU Make.
                     17: 
                     18: 
                     19: * protocol :
                     20: 
                     21: Connect to the unix socket.
                     22: Sent request, get response.
                     23: close unix socket connection.
                     24: 
                     25: * Request format :
                     26: 1st byte : request type
                     27:            0 - version
                     28:            1 - type
                     29:            2 - USN (unique id)
                     30:            3 - everything
                     31:            4 - submit service (see below)
                     32:            5 - switch connection to notification mode
                     33: n bytes : string length : 1 byte if < 128 else the upper bit indicate that
                     34: one additional byte should be read, etc. (see codelength.h)
                     35: n bytes = string
                     36: 
                     37: Response format :
                     38: 
                     39: request type 0 (version) :
                     40: n bytes string length
                     41: n bytes = version string
                     42: 
                     43: request type 1 / 2 / 3 / 5 :
                     44: 1st byte : number of services/devices, from 0 to 254.
                     45:            255 is a special value, see below
                     46: For each service/device :
                     47: URL :
                     48:   n bytes string length
                     49:   n bytes = Location string
                     50: ST:
                     51:   n bytes string length
                     52:   n bytes = type string
                     53: USN:
                     54:   n bytes string length
                     55:   n bytes = identifier string
                     56: 
                     57: if the 1st byte is 255, the format is as follows :
                     58: 1st byte = 255
                     59: 2nd byte = notification type (1=NEW, 2=UPDATE, 3=REMOVE)
                     60: 3rd byte = number of services/devices, from 0 to 255.
                     61: 
                     62: 
                     63: request type 4 = submit service
                     64: 1st byte  = 4
                     65: (k,n) bytes : length and string "ST" (service type)
                     66: (k,n) bytes : length and string "USN"
                     67: (k,n) bytes : length and string "Server"
                     68: (k,n) bytes : length and string "Location"
                     69: No answer
                     70: 

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