Apache HTTPD
libsed.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2005, 2008 Sun Microsystems, Inc. All Rights Reserved.
3 * Use is subject to license terms.
4 *
5 * Copyright (c) 1984 AT&T
6 * All Rights Reserved
7 *
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0.
12 *
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
16 * or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 */
20
21#ifndef LIBSED_H
22#define LIBSED_H
23
24#ifdef __cplusplus
25extern "C" {
26#endif
27
28#include <limits.h>
29
30#include "apr_file_io.h"
31
32#define SED_NLINES 256
33#define SED_DEPTH 20
34#define SED_LABSIZE 50
35#define SED_ABUFSIZE 20
36
37typedef struct sed_reptr_s sed_reptr_t;
38
41 char *ad1;
42 char *ad2;
43 char *re1;
45 char *rhs;
46 int findex;
47 char command;
48 int gfl;
49 char pfl;
50 char negfl;
51 int nrep;
52};
53
54typedef struct sed_label_s sed_label_t;
55
61
62typedef apr_status_t (sed_err_fn_t)(void *data, const char *error);
64
66#define NWFILES 11 /* 10 plus one for standard output */
67
106
107typedef struct sed_eval_s sed_eval_t;
108
150
152 apr_pool_t *p);
153apr_status_t sed_compile_string(sed_commands_t *commands, const char *s);
156int sed_canbe_finalized(const sed_commands_t *commands);
158
160 sed_err_fn_t *errfn, void *data,
161 sed_write_fn_t *writefn, apr_pool_t *p);
163apr_status_t sed_eval_buffer(sed_eval_t *eval, const char *buf, apr_size_t bufsz, void *fout);
166void sed_destroy_eval(sed_eval_t *eval);
167
168#ifdef __cplusplus
169}
170#endif
171
172#endif /* LIBSED_H */
APR File I/O Handling.
const unsigned char * buf
Definition util_md5.h:50
apr_file_t * f
apr_brigade_flush void * ctx
apr_pool_t const char apr_dbd_t const char ** error
Definition apr_dbd.h:143
apr_size_t size
const char int apr_pool_t * pool
Definition apr_cstr.h:84
int apr_status_t
Definition apr_errno.h:44
void * data
const char * s
Definition apr_strings.h:95
apr_child_errfn_t * errfn
apr_status_t() sed_err_fn_t(void *data, const char *error)
Definition libsed.h:62
apr_status_t sed_init_eval(sed_eval_t *eval, sed_commands_t *commands, sed_err_fn_t *errfn, void *data, sed_write_fn_t *writefn, apr_pool_t *p)
Definition sed1.c:294
void sed_destroy_eval(sed_eval_t *eval)
Definition sed1.c:367
char * sed_get_finalize_error(const sed_commands_t *commands, apr_pool_t *pool)
Definition sed0.c:127
#define SED_LABSIZE
Definition libsed.h:34
apr_status_t sed_finalize_eval(sed_eval_t *eval, void *f)
Definition sed1.c:480
apr_status_t sed_init_commands(sed_commands_t *commands, sed_err_fn_t *errfn, void *data, apr_pool_t *p)
Definition sed0.c:59
int sed_canbe_finalized(const sed_commands_t *commands)
Definition sed0.c:152
#define SED_ABUFSIZE
Definition libsed.h:35
apr_status_t sed_compile_string(sed_commands_t *commands, const char *s)
Definition sed0.c:99
void sed_destroy_commands(sed_commands_t *commands)
Definition sed0.c:92
#define SED_DEPTH
Definition libsed.h:33
apr_status_t sed_reset_eval(sed_eval_t *eval, sed_commands_t *commands, sed_err_fn_t *errfn, void *data)
Definition sed1.c:305
apr_status_t sed_eval_buffer(sed_eval_t *eval, const char *buf, apr_size_t bufsz, void *fout)
Definition sed1.c:406
#define SED_NLINES
Definition libsed.h:32
#define NWFILES
Definition libsed.h:66
apr_status_t sed_compile_file(sed_commands_t *commands, apr_file_t *fin)
Definition sed0.c:118
apr_status_t() sed_write_fn_t(void *ctx, char *buf, apr_size_t sz)
Definition libsed.h:63
apr_status_t sed_eval_file(sed_eval_t *eval, apr_file_t *fin, void *fout)
Definition sed1.c:383
apr_pool_t * p
Definition md_event.c:32
apr_int64_t tlno[256]
Definition libsed.h:86
sed_reptr_t ** cmpend[20]
Definition libsed.h:98
char * cp
Definition libsed.h:77
char * lbend
Definition libsed.h:74
const char * earg
Definition libsed.h:82
char * respace
Definition libsed.h:79
apr_pool_t * pool
Definition libsed.h:103
sed_label_t * lab
Definition libsed.h:95
sed_label_t ltab[50]
Definition libsed.h:93
sed_label_t * labend
Definition libsed.h:96
char * reend
Definition libsed.h:81
apr_size_t lsize
Definition libsed.h:72
char * fname[11]
Definition libsed.h:90
char * lastre
Definition libsed.h:78
const char * saveq
Definition libsed.h:75
void * data
Definition libsed.h:70
sed_reptr_t * ptrspace
Definition libsed.h:99
sed_reptr_t * ptrend
Definition libsed.h:100
sed_err_fn_t * errfn
Definition libsed.h:69
sed_label_t * labtab
Definition libsed.h:94
sed_reptr_t * rep
Definition libsed.h:101
char * linebuf
Definition libsed.h:73
apr_pool_t * pool
Definition libsed.h:148
sed_reptr_t * abuf[20]
Definition libsed.h:132
apr_size_t lsize
Definition libsed.h:119
sed_write_fn_t * writefn
Definition libsed.h:111
char * linebuf
Definition libsed.h:120
int nullmatch
Definition libsed.h:146
void * fout
Definition libsed.h:117
int numpass
Definition libsed.h:145
apr_int64_t lnum
Definition libsed.h:116
unsigned char * inar
Definition libsed.h:135
int jflag
Definition libsed.h:140
int dolflag
Definition libsed.h:138
sed_reptr_t * pending
Definition libsed.h:134
void * data
Definition libsed.h:112
int lreadyflag
Definition libsed.h:142
int nrep
Definition libsed.h:136
sed_commands_t * commands
Definition libsed.h:114
int delflag
Definition libsed.h:141
char * lcomend
Definition libsed.h:129
sed_reptr_t ** aptr
Definition libsed.h:133
sed_err_fn_t * errfn
Definition libsed.h:110
int col
Definition libsed.h:147
char * holdbuf
Definition libsed.h:124
apr_size_t hsize
Definition libsed.h:123
char * genbuf
Definition libsed.h:128
char * lspend
Definition libsed.h:121
int quitflag
Definition libsed.h:143
int finalflag
Definition libsed.h:144
int sflag
Definition libsed.h:139
apr_size_t gsize
Definition libsed.h:127
char * hspend
Definition libsed.h:125
apr_file_t * fcode[11]
Definition libsed.h:131
sed_reptr_t * address
Definition libsed.h:59
char asc[9]
Definition libsed.h:57
sed_reptr_t * chain
Definition libsed.h:58
char * rhs
Definition libsed.h:45
char * re1
Definition libsed.h:43
char pfl
Definition libsed.h:49
char * ad1
Definition libsed.h:41
sed_reptr_t * lb1
Definition libsed.h:44
char command
Definition libsed.h:47
int nrep
Definition libsed.h:51
char negfl
Definition libsed.h:50
int findex
Definition libsed.h:46
sed_reptr_t * next
Definition libsed.h:40
int gfl
Definition libsed.h:48
char * ad2
Definition libsed.h:42