Subversion Repositories Kolibri OS

Rev

Rev 4874 | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. /* Copyright (C) 2002, 2010 by  Red Hat, Incorporated. All rights reserved.
  2.  *
  3.  * Permission to use, copy, modify, and distribute this software
  4.  * is freely granted, provided that this notice is preserved.
  5.  */
  6.  
  7. #ifndef _WORDEXP_H_
  8. #define _WORDEXP_H_
  9.  
  10. #include <sys/types.h>
  11.  
  12. #ifdef __cplusplus
  13. extern "C" {
  14. #endif
  15.  
  16. struct _wordexp_t
  17. {
  18.   size_t we_wordc;      /* Count of words matched by words. */
  19.   char **we_wordv;      /* Pointer to list of expanded words. */
  20.   size_t we_offs;       /* Slots to reserve at the beginning of we_wordv. */
  21. };
  22.  
  23. typedef struct _wordexp_t wordexp_t;
  24.  
  25. #define WRDE_DOOFFS     0x0001  /* Use we_offs. */
  26. #define WRDE_APPEND     0x0002  /* Append to output from previous call. */
  27. #define WRDE_NOCMD      0x0004  /* Don't perform command substitution. */
  28. #define WRDE_REUSE      0x0008  /* pwordexp points to a wordexp_t struct returned from
  29.                                    a previous successful call to wordexp. */
  30. #define WRDE_SHOWERR    0x0010  /* Print error messages to stderr. */
  31. #define WRDE_UNDEF      0x0020  /* Report attempt to expand undefined shell variable. */
  32.  
  33. enum {
  34.   WRDE_SUCCESS,
  35.   WRDE_NOSPACE,
  36.   WRDE_BADCHAR,
  37.   WRDE_BADVAL,
  38.   WRDE_CMDSUB,
  39.   WRDE_SYNTAX,
  40.   WRDE_NOSYS
  41. };
  42.  
  43. /* Note: This implementation of wordexp requires a version of bash
  44.    that supports the --wordexp and --protected arguments to be present
  45.    on the system.  It does not support the WRDE_UNDEF flag. */
  46. int wordexp(const char *__restrict, wordexp_t *__restrict, int);
  47. void wordfree(wordexp_t *);
  48.  
  49. #ifdef __cplusplus
  50. }
  51. #endif
  52.  
  53. #endif /* _WORDEXP_H_  */
  54.