Variable: zeroconf-services-hash

zeroconf-services-hash is a variable defined in zeroconf.el.gz.

Value

#s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data
	      ())

Documentation

Hash table of discovered Avahi services.

The key of an entry is the concatenation of the service name and service type of a discovered service. The value is the service itself. The format of a service is

  (INTERFACE PROTOCOL NAME TYPE DOMAIN FLAGS)

The INTERFACE is a number, which represents the network interface the service is located at. The corresponding network interface name, like "eth0", can be retrieved with the function zeroconf-get-interface-name.

PROTOCOL describes the used network protocol family the service can be accessed. zeroconf-avahi-protocol-inet4 means INET4, zeroconf-avahi-protocol-inet6 means INET6. An unspecified protocol family is coded with zeroconf-avahi-protocol-unspec.

NAME is the string the service is known at Avahi. A service can be known under the same name for different service types.

Each TYPE stands for a discovered service type of Avahi. The format is described in RFC 2782. It is of the form

  "_APPLICATION-PROTOCOL._TRANSPORT-PROTOCOL".

TRANSPORT-PROTOCOL must be either "tcp" or "udp". APPLICATION-PROTOCOL must be a protocol name as specified in URL http://www.dns-sd.org/ServiceTypes.html. Typical service types are "_workstation._tcp" or "_printer._tcp".

DOMAIN is the domain name the service is registered in, like "local".

FLAGS, an integer, is used inside Avahi. When publishing a service (see zeroconf-publish-service, the flag 0 is used.

Source Code

;; Defined in /usr/src/emacs/lisp/net/zeroconf.el.gz
;;; Services retrieval.

(defvar zeroconf-services-hash (make-hash-table :test 'equal)
  "Hash table of discovered Avahi services.

The key of an entry is the concatenation of the service name and
service type of a discovered service.  The value is the service
itself.  The format of a service is

  \(INTERFACE PROTOCOL NAME TYPE DOMAIN FLAGS)

The INTERFACE is a number, which represents the network interface
the service is located at.  The corresponding network interface
name, like \"eth0\", can be retrieved with the function
`zeroconf-get-interface-name'.

PROTOCOL describes the used network protocol family the service
can be accessed.  `zeroconf-avahi-protocol-inet4' means INET4,
`zeroconf-avahi-protocol-inet6' means INET6.  An unspecified
protocol family is coded with `zeroconf-avahi-protocol-unspec'.

NAME is the string the service is known at Avahi.  A service can
be known under the same name for different service types.

Each TYPE stands for a discovered service type of Avahi.  The
format is described in RFC 2782.  It is of the form

  \"_APPLICATION-PROTOCOL._TRANSPORT-PROTOCOL\".

TRANSPORT-PROTOCOL must be either \"tcp\" or \"udp\".
APPLICATION-PROTOCOL must be a protocol name as specified in URL
`http://www.dns-sd.org/ServiceTypes.html'.  Typical service types
are \"_workstation._tcp\" or \"_printer._tcp\".

DOMAIN is the domain name the service is registered in, like \"local\".

FLAGS, an integer, is used inside Avahi.  When publishing a
service (see `zeroconf-publish-service', the flag 0 is used.")