gbatch_getredir - extract a redirection structure from a job structure
const apiMredir *gbatch_getredir(const apiBtjob *jobp, const unsigned indx)
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>.
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:
Open file name given in un.buffer
for reading.
Open file name given in un.buffer
for writing.
Append to file name given in un.buffer
, opened for writing.
Open file name given in un.buffer
for read/write.
Open file name given in un.buffer
for read/write and append.
Open pipe to shell command given in un.buffer
for output.
Open pipe from shell command given in un.buffer
for input.
Close file descriptor.
Duplicate file descriptor given in un.arg
.
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.
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 (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.
John M Collins, Xi Software Ltd.