Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
XTEND(8)		  BSD System Manager's Manual		      XTEND(8)

     xtend -- X-10 daemon


     Xtend interfaces between user-level programs and the TW523	X-10 con-
     troller.  It logs all packets received from the TW523, attempts to	track
     the status	of all X-10 devices, and accepts socket	connections from user-
     level client programs that	need to	manipulate X-10	devices.

     When xtend	is started, it forks, releases the controlling terminal, then
     opens its log file, where it subsequently records all X-10	activity and
     diagnostic	messages.  It then begins processing packets received from the
     TW523 and accepting connections one at a time from	clients	wishing	to is-
     sue X-10 commands.	 Xtend is started from /etc/rc.i386 startup script if
     enabled in	/etc/rc.conf script.

     Sending xtend a SIGHUP causes it to close and reopen its log file.	 This
     is	useful in shell	scripts	that rotate the	log files to keep them from
     growing indefinitely.  If xtend receives a	SIGTERM, it shuts down grace-
     fully and exits.  A SIGPIPE causes	xtend to abort the current client con-

     Xtend communicates	with client processes by a simple protocol in which a
     one-line command is sent by the client, and is acknowledged by a one-line
     response from the daemon.

     Xtend understands four types of commands:

     status H U	  where	H is a single letter house code, and U is a numeric
		  unit code, causes xtend to respond with one line of status
		  information about the	specified device.

     send H U N	  where	H is a single-letter house code, U is either a numeric
		  unit code or a function code (see source file
		  xtend/packet.c) for a	list, and N is a number	indicating the
		  number of times (usually 2) the packet is to be transmitted
		  without gaps,	causes xtend to	perform	the specified X-10
		  transmission.	 If the	transmission was apparently success-
		  ful, a single-line response containing OK is issued, other-
		  wise a single-line response containing ERROR is produced.

     dump	  causes xtend to dump the current status of all devices to an
		  ASCII	file in	the spool directory.  The response OK is is-
		  sued,	regardless of whether the status dump was successful.

     monitor H U  causes xtend to add the current client socket	connection to
		  a list of clients that are to	be notified about activity
		  concerning the specified X-10	device.	 The single-line ac-
		  knowledgement	OK is returned if the maximum (currently 5)
		  number of such clients was not exceeded, otherwise ERROR is
		  returned.  Xtend then	returns	to its normal mode of accept-
		  ing connections from clients.	 However, each subsequent
		  change in the	status of the specified	device will cause
		  xtend	to write one line of status information	for the	device
		  (in the same format as produced by the status	command) to
		  the saved socket.  This feature is useful for	writing	pro-
		  grams	that need to monitor the activity of devices, like mo-
		  tion detectors, that can perform X-10	transmissions.


     xten(1), tw(4)

     /dev/tw0			 the TW523 special file
     /var/run/tw523		 socket	for client connections
     /var/run/		 pid file
     /var/spool/xten/Log	 log file
     /var/spool/xten/Status	 device	status file (binary)
     /var/spool/xten/status.out	 ASCII dump of device status

     There is currently	no timeout on client socket connections, so a hung
     client program can	prevent	other clients from accessing the daemon.

     Xtend does	the best it can	at trying to track device status, but there is
     usually no	way it can tell	when a device has been operated	manually.
     This is due to the	fact that most X-10 devices are	not able to respond to
     queries about their status.

     Eugene W. Stark <>

BSD			       October 30, 1993				   BSD


Want to link to this manual page? Use this URL:

home | help