gbatch_getredir(3)

NAME
gbatch_getredir - extract a redirection structure from a job structure

SYNOPSIS
#include <gbatch.h>

const apiMredir *gbatch_getredir(const apiBtjob *jobp, const unsigned indx)

DESCRIPTION
The function gbatch_getredir is used to extract a redirection structure from a job structure.

jobp is a pointer to a structure containing the details of the job.

indx is the redirection number required. This should be between 0 and 1 less than the number of redirections as given by the field "jobp-"h.bj_nredirs>.

  Redirection Structure
The format of the redirection structure is as follows:

 typedef struct {
         unsigned char fd;
         unsigned char action;
         union  {
                  unsigned short arg;
                  const char *buffer;
         }  un;
 } apiMredir;

In this structure "fd" represents the file descriptor, and "action" gives the action required as follows:

RD_ACT_RD
    Open file name given in "un.buffer" for reading.

RD_ACT_WRT
    Open file name given in "un.buffer" for writing.

RD_ACT_APPEND
    Append to file name given in "un.buffer", opened for writing.

RD_ACT_RDWR
    Open file name given in "un.buffer" for read/write.

RD_ACT_RDWRAPP
    Open file name given in "un.buffer" for read/write and append.

RD_ACT_PIPEO
    Open pipe to shell command given in "un.buffer" for output.

RD_ACT_PIPEI
    Open pipe from shell command given in "un.buffer" for input.

RD_ACT_CLOSE
    Close file descriptor.

RD_ACT_DUP
    Duplicate file descriptor given in "un.arg".

RETURN VALUES
The result is a pointer to a static structure containing the required redirection of the job "NULL" if the redirection number is invalid.

Note that the structure used will be overwritten by a further call to gbatch_getredir with different arguments, hence it should be copied if required.

SEE ALSO
gbatch_delarg(3), gbatch_delenv(3), gbatch_delredir(3), gbatch_getarg(3), gbatch_getdirect(3), gbatch_getenv(3), gbatch_getenvlist(3), gbatch_gethenv(3), gbatch_gettitle(3), gbatch_putarg(3), gbatch_putarglist(3), gbatch_putdirect(3), gbatch_putenv(3), gbatch_putenvlist(3), gbatch_putredir(3), gbatch_putredirlist(3), gbatch_puttitle(3), gbatch_setqueue(3).

COPYRIGHT
Copyright (c) 2009 Free Software Foundation, Inc. This is free software. You may redistribute copies of it under the terms of the GNU General Public License <http://www.gnu.org/licenses/gpl.html>. There is NO WARRANTY, to the extent permitted by law.

AUTHOR
John M Collins, Xi Software Ltd.