/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/* Copyright (c) 1988 AT&T */
/* All Rights Reserved */
/*
*/
/*
* Copyright (c) 2011 Gary Mills
*/
#ifndef _M4_H
#define _M4_H
#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <locale.h>
#include <limits.h>
#include <wchar.h>
#include <wctype.h>
#define NOPUSH 0
#define OK 0
/*
* Since we have expanded char to wchar_t, large vaule(has BUILTIN set)
* can be given to the ctype macros. First check BUILTIN, and return
*/
struct bs {
};
struct call {
int plev;
};
struct nlist {
char tflag;
};
struct Wrap {
};
typedef struct {
char nbytes;
} ibuf_t;
extern char *fname[];
extern char *procnam;
extern char *tempfile;
extern wchar_t C;
extern int bufsize;
extern int fline[];
extern int hshsize;
extern unsigned int hshval;
extern int ifx;
extern int nflag;
extern int ofx;
extern int sflag;
extern int stksize;
extern int sysrval;
extern int toksize;
extern int trace;
extern int exitstat;
extern void install();
extern int wide;
extern void setfname(char *);
extern void pbnum(long);
extern void pbnbr(long, int, int);
extern void undiv(int, int);
extern void delexit(int, int);
extern void error(char *);
extern int min(int, int);
extern void errorf(char *, char *);
extern void error2(char *, int);
/*
* macros for performance reason.
*/
#define putbak(c) \
*ip++ = (c); \
else \
#define stkchr(c) \
*op++ = (c); \
else \
#endif /* _M4_H */