1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
|
<!-- Creator : groff version 1.22.2 -->
<!-- CreationDate: Sat Jun 14 14:27:32 2014 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="generator" content="groff -Thtml, see www.gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta name="Content-Style" content="text/css">
<style type="text/css">
p { margin-top: 0; margin-bottom: 0; vertical-align: top }
pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
table { margin-top: 0; margin-bottom: 0; vertical-align: top }
h1 { text-align: center }
</style>
<title>LIBMAWK_INITIALIZE_STAGE</title>
</head>
<body>
<h1 align="center">LIBMAWK_INITIALIZE_STAGE</h1>
<a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br>
<a href="#DESCRIPTION">DESCRIPTION</a><br>
<a href="#RETURN VALUE">RETURN VALUE</a><br>
<a href="#SEE ALSO">SEE ALSO</a><br>
<hr>
<h2>NAME
<a name="NAME"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">libmawk_initialize_stage*
− create a new libmawk context in 3 stages</p>
<h2>SYNOPSIS
<a name="SYNOPSIS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>#include
<libmawk.h></b></p>
<p style="margin-left:11%; margin-top: 1em"><b>mawk_state_t
*libmawk_initialize_stage1(void);</b></p>
<p style="margin-left:11%; margin-top: 1em"><b>mawk_state_t
*libmawk_initialize_stage2(mawk_state_t *</b>
<i>m,</i><b>int</b> <i>s</i>
<b>,</b><i>char</i><b>*"</b><i>argv[]</i><b>);</b></p>
<p style="margin-left:11%; margin-top: 1em"><b>mawk_state_t
*libmawk_initialize_stage3(mawk_state_t *</b>
<i>m</i><b>);</b></p>
<h2>DESCRIPTION
<a name="DESCRIPTION"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">The
<b>libmawk_initialize_stage*</b>() functions together do the
same as libmawk_initialize() but allows the application to
take actions between different stages.
<b>libmawk_initialize_stage1</b>() returns a pointer to a
newly created libmawk context. Any amount of libmawk
contexts can live in parallel in an application.</p>
<p style="margin-left:11%; margin-top: 1em"><b>libmawk_initialize_stage2</b>()
can be called after a succesful stage1 call. <br>
Stage2 is responsible for processing the command line
arguments and loading any script.</p>
<p style="margin-left:11%; margin-top: 1em">Arguments are
the same as for a command line mawk session. Scripts are
loaded (either from command line or from files using -f),
variables are set (with -v), special options are set (with
-W), etc. Unlike with libmawk_initialize(), the application
may decide not to provide any script at this stage. All
command line arguments are processed.</p>
<p style="margin-left:11%; margin-top: 1em">The most common
case is that the application calls stage1 with no script,
then already having a context makes some manipulations on it
(for example registers some C functions that would be
already called in the BEGIN part of the script that will be
later loaded). Optionally before calling stage2 the
application loads the actual script(s) using
mawk_append_input_file().</p>
<p style="margin-left:11%; margin-top: 1em"><b>libmawk_initialize_stage3</b>()
is called as a final step of the three-stage initialization
process. Stage3 is responsible for running all the BEGIN
parts of all scripts loaded at stage1 or stage2. It is
useful to have stage3 in a separate call to allow
applications to manipulate the context right before
initializing the scripts.</p>
<p style="margin-left:11%; margin-top: 1em">Stage2 gets the
pointer returned by stage1 and stage3 gets the pointer
returned by stage2. Subsequent calls to libmawk functions
should get the pointer returned by stage3.</p>
<h2>RETURN VALUE
<a name="RETURN VALUE"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">At stage 1 a
pointer to a new libmawk context or NULL on error.
Subsequent stages will return the same pointer or NULL on
error.</p>
<h2>SEE ALSO
<a name="SEE ALSO"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>libmawk_initialize_stage</b>(3libmawk),
<b>libmawk_uninitialize</b>(3libmawk),
<b>mawk_append_input_file(3libmawk).</b></p>
<hr>
</body>
</html>
|