'\" t
.\" Title: gcsd
.\" Author: [see the "AUTHORS" section]
.\" Generator: DocBook XSL Stylesheets v1.75.2
.\" Date: 12/29/2010
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "GCSD" "8" "12/29/2010" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
gcsd \- generic command sequencer daemon
.SH "SYNOPSIS"
.sp
.nf
\fBgcsd\fR
[ \fB\-h|\-\-help\fR ]
[ \fB\-D|\-\-nodaemonize\fR ]
[ \fB\-u|\-\-username\fR ]
[ \fB\-g|\-\-groupname\fR ]
[ \fB\-C|\-\-chroot\fR ]
[ \fB\-P|\-\-write\-pid\fR ]
[ \fB\-L|\-\-log\fR :[,[,[\&.\&.]]] ]
[ \fB\-U|\-\-debug\fR ]
[ \fB\-l|\-\-lua\-code\fR ]
[ \fB\-o|\-\-output\fR :[=[,=[\&.\&.]]] ]
[ \fB\-i|\-\-input\fR :[=[,=[\&.\&.]]] ]
.fi
.SH "DESCRIPTION"
.sp
\fBgcsd\fR the generic command sequencer daemon can be used to serialize commands sent over various paralell communication channels to a single command output\&. It can be seen as a multiplexer for any kind of communication between a single resource and various clients which want to submit commands to it or query information from it\&. \fBgcsd\fR is written in C and Lua\&. The goal is to provide an easy to understand high level API based on Lua which can be used to implement the business logic of the so formed multiplexer daemon\&.
.SH "OPTIONS"
.sp
The following options can be passed to the \fBgcsd\fR daemon:
.PP
\fB\-D, \-\-nodaemonize\fR
.RS 4
This option instructs
\fBgcsd\fR
to run in foreground instead of becoming a daemon which is the default\&.
.RE
.PP
\fB\-u, \-\-username \fR
.RS 4
run as this user\&. If no group is specified (\fB\-g\fR) the default group of the user is used\&. The default is to not drop privileges\&.
.RE
.PP
\fB\-g, \-\-groupname \fR
.RS 4
run as this group\&. If no username is specified (\fB\-u\fR) this gets ignored\&. The default is to not drop privileges\&.
.RE
.PP
\fB\-C, \-\-chroot \fR
.RS 4
Instruct
\fBgcsd\fR
to run in a chroot jail\&. The default is to not run in chroot\&.
.RE
.PP
\fB\-P, \-\-write\-pid \fR
.RS 4
Instruct
\fBgcsd\fR
to write it\(cqs pid to this file\&. The default is to not create a pid file\&.
.RE
.PP
\fB\-L, \-\-log :[,[,[\&.\&.]]]\fR
.RS 4
add log target to logging system\&. This can be invoked several times in order to log to different targets at the same time\&. Every target has its own log level which is a number between 0 and 5\&. Where 0 means disabling log and 5 means debug messages are enabled\&.
The file target can be used more than once with different levels\&. If no target is provided at the command line a single target with the config
\fBsyslog:3,gcsd,daemon\fR
is added\&.
The following targets are supported:
.PP
\fBsyslog\fR
.RS 4
log to syslog daemon, parameters [,[,]]
.RE
.PP
\fBfile\fR
.RS 4
log to file, parameters [,]
.RE
.PP
\fBstdout\fR
.RS 4
log to standard output, parameters
.RE
.PP
\fBstderr\fR
.RS 4
log to standard error, parameters
.RE
.RE
.PP
\fB\-U, \-\-debug\fR
.RS 4
This option instructs
\fBgcsd\fR
to run in debug mode\&. It implicits
\fB\-D\fR
(don\(cqt daemonize) and adds a log target with the configuration
\fBstdout:5\fR
(logging with maximum level)\&. In future releases there might be additional output when this option is supplied\&.
.RE
.PP
\fB\-l, \-\-lua\-code \fR
.RS 4
Load the dispatch table and callback functions from this file\&. If no file is specified
\fBgcsd\fR
will run in basic mode and just sends any command submitted by a client to the output und broadcasts any response to all connected clients\&.
.RE
.PP
\fB\-o, \-\-output :[=[,=[\&.\&.]]]\fR
.RS 4
set and configure the command output module\&. See Modules section for further information on which modules exist and how they can be configured\&. By default the output module is set to
\fBserial:device=/dev/ttyS0,baudrate=9600,data=8,stop=1,parity=no\fR
.RE
.PP
\fB\-i, \-\-input :[=[,=[\&.\&.]]]\fR
.RS 4
set and configure command input modules\&. This can be invoked several times\&. gcsd will use all input modules in paralell\&. See Modules section for further information on which modules exist and how they can be configured\&. By default a single input module with the config
\fBunix:file=/var/run/gcsd\&.sock,mode=660\fR
is used\&.
.RE
.SH "MODULES"
.sp
tba
.SH "EXAMPLES"
.sp
nothing yet\&.\&.
.SH "BUGS"
.sp
Most likely there are some bugs in \fBgcsd\fR\&. If you find a bug, please let the developers know at gcsd@spreadspace\&.org\&. Of course, patches are preferred\&.
.SH "SEE ALSO"
.sp
nothing yet\&.\&.
.SH "AUTHORS"
.sp
Markus Grueneis , Christian Pointner
.SH "RESOURCES"
.sp
Main web site: http://www\&.spreadspace\&.org/gcsd/
.SH "COPYING"
.sp
Copyright (C) 2010 Markus Grueneis and Christian Pointner\&. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version\&.