diff options
author | stevel@tonic-gate <none@none> | 2005-06-14 00:00:00 -0700 |
---|---|---|
committer | stevel@tonic-gate <none@none> | 2005-06-14 00:00:00 -0700 |
commit | 7c478bd95313f5f23a4c958a745db2134aa03244 (patch) | |
tree | c871e58545497667cbb4b0a4f2daf204743e1fe7 /usr/src/ucbcmd/sed/sed.h | |
download | illumos-gate-7c478bd95313f5f23a4c958a745db2134aa03244.tar.gz |
OpenSolaris Launch
Diffstat (limited to 'usr/src/ucbcmd/sed/sed.h')
-rw-r--r-- | usr/src/ucbcmd/sed/sed.h | 152 |
1 files changed, 152 insertions, 0 deletions
diff --git a/usr/src/ucbcmd/sed/sed.h b/usr/src/ucbcmd/sed/sed.h new file mode 100644 index 0000000000..92ac2c0cd7 --- /dev/null +++ b/usr/src/ucbcmd/sed/sed.h @@ -0,0 +1,152 @@ +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License, Version 1.0 only + * (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 + * or http://www.opensolaris.org/os/licensing. + * 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 1996 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ + +/* Copyright (c) 1984 AT&T */ +/* All Rights Reserved */ + +#pragma ident "%Z%%M% %I% %E% SMI" /* from S5R3.1 1.8 */ + +/* + * sed -- stream editor + */ + +#include <ctype.h> +#include <locale.h> + +/* + * define some macros for rexexp.h + */ + +#define INIT extern char *cp; /* cp points to RE string */\ + register char *sp = cp; +#define GETC() (*sp++) +#define PEEKC() (*sp) +#define UNGETC(c) (--sp) +#define RETURN(c) cp = sp; return(ep); +#define ERROR(c) regerr(c) + +#define CEND 16 +#define CLNUM 14 + +#define NLINES 256 +#define DEPTH 20 +#define PTRSIZE 200 +#define RESIZE 10000 +#define ABUFSIZE 20 +#define LBSIZE 4000 +#define ESIZE 256 +#define LABSIZE 50 + +extern union reptr *abuf[]; +extern union reptr **aptr; +extern char genbuf[]; +extern char *lcomend; +extern long long lnum; +extern char linebuf[]; +extern char holdsp[]; +extern char *spend; +extern char *hspend; +extern int nflag; +extern long long tlno[]; + +#define ACOM 01 +#define BCOM 020 +#define CCOM 02 +#define CDCOM 025 +#define CNCOM 022 +#define COCOM 017 +#define CPCOM 023 +#define DCOM 03 +#define ECOM 015 +#define EQCOM 013 +#define FCOM 016 +#define GCOM 027 +#define CGCOM 030 +#define HCOM 031 +#define CHCOM 032 +#define ICOM 04 +#define LCOM 05 +#define NCOM 012 +#define PCOM 010 +#define QCOM 011 +#define RCOM 06 +#define SCOM 07 +#define TCOM 021 +#define WCOM 014 +#define CWCOM 024 +#define YCOM 026 +#define XCOM 033 + + +union reptr { + struct reptr1 { + char *ad1; + char *ad2; + char *re1; + char *rhs; + FILE *fcode; + char command; + int gfl; + char pfl; + char inar; + char negfl; + } r1; + struct reptr2 { + char *ad1; + char *ad2; + union reptr *lb1; + char *rhs; + FILE *fcode; + char command; + int gfl; + char pfl; + char inar; + char negfl; + } r2; +}; +extern union reptr ptrspace[]; + + + +struct label { + char asc[9]; + union reptr *chain; + union reptr *address; +}; + + + +extern int eargc; + +extern union reptr *pending; +char *compile(); +char *ycomp(); +char *address(); +char *text(); +char *compsub(); +struct label *search(); +char *gline(); +char *place(); |