jcllib.h revision 3f54fd611f536639ec30dd53c48e5ec1897cc7d9
/***********************************************************************
* *
* This software is part of the ast package *
* Copyright (c) 2003-2011 AT&T Intellectual Property *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
* *
* A copy of the License is available at *
* (with md5 checksum b35adb5213ca9657e911e9befb180842) *
* *
* Information and Software Systems Research *
* AT&T Research *
* Florham Park NJ *
* *
* Glenn Fowler <gsf@research.att.com> *
* *
***********************************************************************/
#pragma prototyped
/*
* jcl interface definitions
*/
#ifndef _JCLLIB_H
#define _JCLLIB_H 1
#include <ast.h>
#include <dt.h>
#define IE_KEEP 01
#define IE_SKIP 02
struct Dir_s /* directory list element */
{
unsigned long flags; /* {JCL_JOB,JCL_PGM,JCL_PROC} */
};
{
};
struct Include_s
{
long line;
char* file;
char path[1];
};
struct Rc_s
{
int rc;
char name[1];
};
struct Redirect_s
{
const char* file;
int fd;
};
struct Ie_s
{
int flags;
int line;
};
#define _JCL_PUSH_ \
char* data; \
char* peek; \
char* peekpeek; \
char* last;
typedef struct Push_s
{
} Push_t;
#define CARD 72
#define DEFAULT 0x01
#define MUST 0x02
#define _JCL_PRIVATE_ \
Include_t* include; \
char* file; \
char* ofile; \
int oline; \
char* card; \
char* peekcard; \
char* record; \
char* end; \
int pushed; \
int abend; \
int rc; \
int eof; \
int canon; \
#define _JCLDD_PRIVATE_ \
int space; \
#define expand _jcl_expand
#define lookup _jcl_lookup
#define marked _jcl_marked
#define matched _jcl_matched
#define nospace _jcl_nospace
#define redirect _jcl_redirect
#define stash _jcl_stash
#define suflen _jcl_suflen
#include "jcl.h"
#include <ctype.h>
#include <debug.h>
extern int suflen(const char*);
#endif