ITEM: F5634L

enq equivalent fortran routines ?


Question:

We are at AIX 3.2.3.  Is there a Fortran or C function that I can
use to queue print jobs from a Fortran code ? Or, if not, what are
the return codes from the enq command ? 
Also, is there a flag for enq, to just print the queue names and no other
information.

Response:

Referred customer to queue management kernel routines.

2nd question:

Wants to write in tar format a list of files.

Here is the structure at the top of each tar file within a tar backup:

\#define MAXSTR  10      /* maxmimum bytes in yes/no response */
\#define MSGSTR(num,str) catgets(catd,MS_TAR,num,str)  /*MSG*/
\#define PIPSIZ          4096 
\#define TBLOCK          512     /*  tar  block size  */ 
\#define NBLOCK          20      /*  default num of blocks  */ 
\#define MAXBLOCK        800     /*  max num of blocks  */
\#define TAR_PATH_LEN    257     /*  max size of tar archive path with   */ 
\#define NAME_SIZE       100     /*  file name size in tar header*/ 
\#define PREFIX_SIZE     155     /*  path size in tar header  */
\#define writetape(b)    writetbuf(b, 1) 
\#define min(a,b)  ((a) \< (b) ? (a) : (b)) 
\#define max(a,b)  ((a) > (b) ? (a) : (b))

                        /*  hblock modified for POSIX compliance  */
\#define UNAMELEN 32 \#define GNAMELEN 32

union hblock {
                char dummy[TBLOCK];
         struct header {
                char name[NAME_SIZE];
                char mode[8];
                char uid[8];
                char gid[8];
                char size[12];
                char mtime[12];
                char chksum[8];
                char typeflag;
                char linkname[NAME_SIZE];
                char magic[6];
                char version[2];
                char uname[UNAMELEN];
                char gname[GNAMELEN];
                char devmajor[8];
                char devminor[8];
                char prefix[PREFIX_SIZE];
         } dbuf; };

struct linkbuf {         
        ino_t   inum;
        dev_t   devnum;
        int     count;
        char    pathname[NAME_SIZE+1];          /*  +1 to allow for */ 
struct  linkbuf *nextp; };

unsigned long maxint=(unsigned long)((1L \<\< (sizeof(int) * 8)) - 1);
int     Nblock = NBLOCK ; 
union   hblock dblock; 
union   hblock *tbuf;
struct  linkbuf *ihead; 
struct  stat stbuf;

\#define GAP     7500          /* Interrecord gap, .0001 inch units */
\#define DENSITY 1200 
\#define TAPE_FOOT       110000L         /*  11 inches  */


Support Line: enq equivalent fortran routines ? ITEM: F5634L
Dated: December 1993 Category: N/A
This HTML file was generated 99/06/24~13:30:51
Comments or suggestions? Contact us