]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/tools/build/src/engine/filesys.h
2 * Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc.
4 * This file is part of Jam - see jam.c for Copyright information.
8 * Copyright 2001-2004 David Abrahams.
9 * Distributed under the Boost Software License, Version 1.0.
10 * (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
14 * filesys.h - OS specific file routines
17 #ifndef FILESYS_DWA20011025_H
18 #define FILESYS_DWA20011025_H
24 #include "timestamp.h"
27 typedef struct file_info_t
37 typedef struct file_item FILEITEM
;
40 file_info_t
* value
; /* expected to be equvalent with &FILEITEM */
44 typedef struct file_list
51 typedef file_info_t
* * FILELISTITER
; /* also &FILEITEM equivalent */
54 typedef struct file_archive_info_t
58 } file_archive_info_t
;
61 typedef void (*archive_scanback
)( void * closure
, OBJECT
* path
, LIST
* symbols
,
62 int found
, timestamp
const * const );
63 typedef void (*scanback
)( void * closure
, OBJECT
* path
, int found
,
64 timestamp
const * const );
67 void file_archscan( char const * arch
, scanback func
, void * closure
);
68 void file_archivescan( OBJECT
* path
, archive_scanback func
, void * closure
);
69 void file_build1( PATHNAME
* const f
, string
* file
) ;
70 void file_dirscan( OBJECT
* dir
, scanback func
, void * closure
);
71 file_info_t
* file_info( OBJECT
* const path
, int * found
);
72 int file_is_file( OBJECT
* const path
);
73 int file_mkdir( char const * const path
);
74 file_info_t
* file_query( OBJECT
* const path
);
75 void file_remove_atexit( OBJECT
* const path
);
76 void file_supported_fmt_resolution( timestamp
* const );
77 int file_time( OBJECT
* const path
, timestamp
* const );
80 /* Archive/library file support */
81 file_archive_info_t
* file_archive_info( OBJECT
* const path
, int * found
);
82 file_archive_info_t
* file_archive_query( OBJECT
* const path
);
84 /* FILELIST linked-list */
85 FILELIST
* filelist_new( OBJECT
* path
);
86 FILELIST
* filelist_push_back( FILELIST
* list
, OBJECT
* path
);
87 FILELIST
* filelist_push_front( FILELIST
* list
, OBJECT
* path
);
88 FILELIST
* filelist_pop_front( FILELIST
* list
);
89 int filelist_length( FILELIST
* list
);
90 void filelist_free( FILELIST
* list
);
92 FILELISTITER
filelist_begin( FILELIST
* list
);
93 FILELISTITER
filelist_end( FILELIST
* list
);
94 FILELISTITER
filelist_next( FILELISTITER it
);
95 file_info_t
* filelist_item( FILELISTITER it
);
96 file_info_t
* filelist_front( FILELIST
* list
);
97 file_info_t
* filelist_back( FILELIST
* list
);
99 int filelist_empty( FILELIST
* list
);
101 #define FL0 ((FILELIST *)0)
104 /* Internal utility worker functions. */
105 void file_query_posix_( file_info_t
* const );