/* source: xiolayer.h */
/* Copyright Gerhard Rieger and contributors (see file CHANGES) */
/* Published under the GNU General Public License V.2, see file COPYING */

#ifndef __xiolayer_h_included
#define __xiolayer_h_included 1

extern const struct optdesc opt_ignoreeof;
extern const struct optdesc opt_cr;
extern const struct optdesc opt_crnl;
extern const struct optdesc opt_readbytes;
extern const struct optdesc opt_lockfile;
extern const struct optdesc opt_waitlock;
extern const struct optdesc opt_escape;
extern const struct optdesc opt_forever;
extern const struct optdesc opt_intervall;
extern const struct optdesc opt_retry;
extern const struct optdesc opt_chdir;
extern const struct optdesc opt_umask;

extern int xio_chdir(struct opt* opts, char **orig_dir);

#endif /* !defined(__xiolayer_h_included) */
