aboutsummaryrefslogtreecommitdiff
path: root/src/core/ngx_file.h
blob: 2cd2f762c4a1210e70b1b0c045cbcb5f71a7d320 (plain)
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
#ifndef _NGX_FILE_H_INCLUDED_
#define _NGX_FILE_H_INCLUDED_


#include <ngx_file.h>
#include <ngx_log.h>
#include <ngx_alloc.h>
#include <ngx_string.h>

typedef struct ngx_file_s  ngx_file_t;

struct ngx_file_s {
    ngx_fd_t         fd;
    ngx_str_t        name;
    ngx_file_info_t  info;

    off_t            offset;

    ngx_log_t       *log;

    unsigned         info_valid:1;
};


typedef struct {
    ngx_str_t  name;
    int        len;
    int        level[3];
} ngx_path_t;


int ngx_create_temp_file(ngx_file_t *file, ngx_path_t *path,
                         ngx_pool_t *pool, int persistent);
void ngx_create_hashed_filename(ngx_file_t *file, ngx_path_t *path);
int ngx_create_path(ngx_file_t *file, ngx_path_t *path);

void ngx_init_temp_number();
int ngx_next_temp_number(int collision);


#endif /* _NGX_FILE_H_INCLUDED_ */