wordexp.h(3)               POSIX Programmer's Manual              wordexp.h(3)



PPRROOLLOOGG
       This manual page is part of the POSIX Programmer's Manual.  The OS
       implementation of this interface may differ (consult the corresponding
       OS manual page for details of OS behavior), or the interface may not be
       implemented on OS.

NNAAMMEE
       wordexp.h -- word-expansion types

SSYYNNOOPPSSIISS
       #include <wordexp.h>

DDEESSCCRRIIPPTTIIOONN
       The _<_w_o_r_d_e_x_p_._h_> header shall define the structures and symbolic
       constants used by the _w_o_r_d_e_x_p() and _w_o_r_d_f_r_e_e() functions.

       The _<_w_o_r_d_e_x_p_._h_> header shall define the wwoorrddeexxpp__tt structure type, which
       shall include at least the following members:


           size_t   we_wordc  Count of words matched by _w_o_r_d_s_.
           char   **we_wordv  Pointer to list of expanded words.
           size_t   we_offs   Slots to reserve at the beginning of _w_e___w_o_r_d_v_.

       The _<_w_o_r_d_e_x_p_._h_> header shall define the following symbolic constants
       for use as flags for the _w_o_r_d_e_x_p() function:

       WRDE_APPEND   Append words to those previously generated.

       WRDE_DOOFFS   Number of null pointers to prepend to _w_e___w_o_r_d_v.

       WRDE_NOCMD    Fail if command substitution is requested.

       WRDE_REUSE    The _p_w_o_r_d_e_x_p argument was passed to a previous successful
                     call to _w_o_r_d_e_x_p(), and has not been passed to _w_o_r_d_f_r_e_e().
                     The result is the same as if the application had called
                     _w_o_r_d_f_r_e_e() and then called _w_o_r_d_e_x_p() without WRDE_REUSE.

       WRDE_SHOWERR  Do not redirect _s_t_d_e_r_r to //ddeevv//nnuullll.

       WRDE_UNDEF    Report error on an attempt to expand an undefined shell
                     variable.

       The _<_w_o_r_d_e_x_p_._h_> header shall define the following symbolic constants as
       error return values:

       WRDE_BADCHAR  One of the unquoted characters--<newline>, ''||'', ''&&'', '';;'',
                     ''<<'', ''>>'', ''(('', ''))'', ''{{'', ''}}''--appears in _w_o_r_d_s in an
                     inappropriate context.

       WRDE_BADVAL   Reference to undefined shell variable when WRDE_UNDEF is
                     set in _f_l_a_g_s.

       WRDE_CMDSUB   Command substitution requested when WRDE_NOCMD was set in
                     _f_l_a_g_s.

       WRDE_NOSPACE  Attempt to allocate memory failed.

       WRDE_SYNTAX   Shell syntax error, such as unbalanced parentheses or
                     unterminated string.

       The _<_w_o_r_d_e_x_p_._h_> header shall define the ssiizzee__tt type as described in
       _<_s_t_d_d_e_f_._h_>.

       The following shall be declared as functions and may also be defined as
       macros. Function prototypes shall be provided.


           int  wordexp(const char *restrict, wordexp_t *restrict, int);
           void wordfree(wordexp_t *);

       _T_h_e _f_o_l_l_o_w_i_n_g _s_e_c_t_i_o_n_s _a_r_e _i_n_f_o_r_m_a_t_i_v_e_.

AAPPPPLLIICCAATTIIOONN UUSSAAGGEE
       None.

RRAATTIIOONNAALLEE
       None.

FFUUTTUURREE DDIIRREECCTTIIOONNSS
       None.

SSEEEE AALLSSOO
       <<ssttddddeeff..hh>>

       The System Interfaces volume of POSIX.1-2017, _S_e_c_t_i_o_n _2_._6, _W_o_r_d
       _E_x_p_a_n_s_i_o_n_s

CCOOPPYYRRIIGGHHTT
       Portions of this text are reprinted and reproduced in electronic form
       from IEEE Std 1003.1-2017, Standard for Information Technology --
       Portable Operating System Interface (POSIX), The Open Group Base
       Specifications Issue 7, 2018 Edition, Copyright (C) 2018 by the
       Institute of Electrical and Electronics Engineers, Inc and The Open
       Group.  In the event of any discrepancy between this version and the
       original IEEE and The Open Group Standard, the original IEEE and The
       Open Group Standard is the referee document. The original Standard can
       be obtained online at http://www.opengroup.org/unix/online.html .

       Any typographical or formatting errors that appear in this page are
       most likely to have been introduced during the conversion of the source
       files to man page format. To report such errors, see
       https://www.kernel.org/doc/man-pages/reporting_bugs.html .



IEEE/The Open Group                  2017                         wordexp.h(3)
