root/ext/standard/file.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /*
   2    +----------------------------------------------------------------------+
   3    | PHP Version 5                                                        |
   4    +----------------------------------------------------------------------+
   5    | Copyright (c) 1997-2016 The PHP Group                                |
   6    +----------------------------------------------------------------------+
   7    | This source file is subject to version 3.01 of the PHP license,      |
   8    | that is bundled with this package in the file LICENSE, and is        |
   9    | available through the world-wide-web at the following url:           |
  10    | http://www.php.net/license/3_01.txt                                  |
  11    | If you did not receive a copy of the PHP license and are unable to   |
  12    | obtain it through the world-wide-web, please send a note to          |
  13    | license@php.net so we can mail you a copy immediately.               |
  14    +----------------------------------------------------------------------+
  15    | Author: Rasmus Lerdorf <rasmus@lerdorf.on.ca>                        |
  16    +----------------------------------------------------------------------+
  17 */
  18 
  19 /* $Id$ */
  20 
  21 /* Synced with php 3.0 revision 1.30 1999-06-16 [ssb] */
  22 
  23 #ifndef FILE_H
  24 #define FILE_H
  25 
  26 PHP_MINIT_FUNCTION(file);
  27 PHP_MSHUTDOWN_FUNCTION(file);
  28 
  29 PHP_FUNCTION(tempnam);
  30 PHP_NAMED_FUNCTION(php_if_tmpfile);
  31 PHP_NAMED_FUNCTION(php_if_fopen);
  32 PHPAPI PHP_FUNCTION(fclose);
  33 PHP_FUNCTION(popen);
  34 PHP_FUNCTION(pclose);
  35 PHPAPI PHP_FUNCTION(feof);
  36 PHPAPI PHP_FUNCTION(fread);
  37 PHPAPI PHP_FUNCTION(fgetc);
  38 PHPAPI PHP_FUNCTION(fgets);
  39 PHP_FUNCTION(fscanf);
  40 PHPAPI PHP_FUNCTION(fgetss);
  41 PHP_FUNCTION(fgetcsv);
  42 PHP_FUNCTION(fputcsv);
  43 PHPAPI PHP_FUNCTION(fwrite);
  44 PHPAPI PHP_FUNCTION(fflush);
  45 PHPAPI PHP_FUNCTION(rewind);
  46 PHPAPI PHP_FUNCTION(ftell);
  47 PHPAPI PHP_FUNCTION(fseek);
  48 PHP_FUNCTION(mkdir);
  49 PHP_FUNCTION(rmdir);
  50 PHPAPI PHP_FUNCTION(fpassthru);
  51 PHP_FUNCTION(readfile);
  52 PHP_FUNCTION(umask);
  53 PHP_FUNCTION(rename);
  54 PHP_FUNCTION(unlink);
  55 PHP_FUNCTION(copy);
  56 PHP_FUNCTION(file);
  57 PHP_FUNCTION(file_get_contents);
  58 PHP_FUNCTION(file_put_contents);
  59 PHP_FUNCTION(get_meta_tags);
  60 PHP_FUNCTION(flock);
  61 PHP_FUNCTION(fd_set);
  62 PHP_FUNCTION(fd_isset);
  63 #if (!defined(__BEOS__) && !defined(NETWARE) && HAVE_REALPATH) || defined(ZTS)
  64 PHP_FUNCTION(realpath);
  65 #endif
  66 #ifdef HAVE_FNMATCH
  67 PHP_FUNCTION(fnmatch);
  68 #endif
  69 PHP_NAMED_FUNCTION(php_if_ftruncate);
  70 PHP_NAMED_FUNCTION(php_if_fstat);
  71 PHP_FUNCTION(sys_get_temp_dir);
  72 
  73 PHP_MINIT_FUNCTION(user_streams);
  74 
  75 PHPAPI int php_le_stream_context(TSRMLS_D);
  76 PHPAPI int php_set_sock_blocking(int socketd, int block TSRMLS_DC);
  77 PHPAPI int php_copy_file(const char *src, const char *dest TSRMLS_DC);
  78 PHPAPI int php_copy_file_ex(const char *src, const char *dest, int src_chk TSRMLS_DC);
  79 PHPAPI int php_copy_file_ctx(const char *src, const char *dest, int src_chk, php_stream_context *ctx TSRMLS_DC);
  80 PHPAPI int php_mkdir_ex(const char *dir, long mode, int options TSRMLS_DC);
  81 PHPAPI int php_mkdir(const char *dir, long mode TSRMLS_DC);
  82 PHPAPI void php_fgetcsv(php_stream *stream, char delimiter, char enclosure, char escape_char, size_t buf_len, char *buf, zval *return_value TSRMLS_DC);
  83 PHPAPI int php_fputcsv(php_stream *stream, zval *fields, char delimiter, char enclosure, char escape_char TSRMLS_DC);
  84 
  85 #define META_DEF_BUFSIZE 8192
  86 
  87 #define PHP_FILE_USE_INCLUDE_PATH 1
  88 #define PHP_FILE_IGNORE_NEW_LINES 2
  89 #define PHP_FILE_SKIP_EMPTY_LINES 4
  90 #define PHP_FILE_APPEND 8
  91 #define PHP_FILE_NO_DEFAULT_CONTEXT 16
  92 
  93 typedef enum _php_meta_tags_token {
  94         TOK_EOF = 0,
  95         TOK_OPENTAG,
  96         TOK_CLOSETAG,
  97         TOK_SLASH,
  98         TOK_EQUAL,
  99         TOK_SPACE,
 100         TOK_ID,
 101         TOK_STRING,
 102         TOK_OTHER
 103 } php_meta_tags_token;
 104 
 105 typedef struct _php_meta_tags_data {
 106         php_stream *stream;
 107         int ulc;
 108         int lc;
 109         char *input_buffer;
 110         char *token_data;
 111         int token_len;
 112         int in_meta;
 113 } php_meta_tags_data;
 114 
 115 php_meta_tags_token php_next_meta_token(php_meta_tags_data * TSRMLS_DC);
 116 
 117 typedef struct {
 118         int pclose_ret;
 119         size_t def_chunk_size;
 120         long auto_detect_line_endings;
 121         long default_socket_timeout;
 122         char *user_agent; /* for the http wrapper */
 123         char *from_address; /* for the ftp and http wrappers */
 124         const char *user_stream_current_filename; /* for simple recursion protection */
 125         php_stream_context *default_context;
 126         HashTable *stream_wrappers;                     /* per-request copy of url_stream_wrappers_hash */
 127         HashTable *stream_filters;                      /* per-request copy of stream_filters_hash */
 128         HashTable *wrapper_errors;                      /* key: wrapper address; value: linked list of char* */
 129         int pclose_wait;
 130 } php_file_globals;
 131 
 132 #ifdef ZTS
 133 #define FG(v) TSRMG(file_globals_id, php_file_globals *, v)
 134 extern PHPAPI int file_globals_id;
 135 #else
 136 #define FG(v) (file_globals.v)
 137 extern PHPAPI php_file_globals file_globals;
 138 #endif
 139 
 140 
 141 #endif /* FILE_H */
 142 

/* [<][>][^][v][top][bottom][index][help] */