106#if defined(SIZEOF_LONG_LONG)
347 cs_gnum_t global_num_start,
348 cs_gnum_t global_num_end);
385 cs_gnum_t global_num_start,
386 cs_gnum_t global_num_end);
423 cs_gnum_t global_num_start,
424 cs_gnum_t global_num_end);
598 MPI_Comm *block_comm,
712 cs_gnum_t global_num_start,
713 cs_gnum_t global_num_end,
714 size_t buf_block_size,
754 cs_gnum_t cur_range[2]);
#define BEGIN_C_DECLS
Definition cs_defs.h:509
#define END_C_DECLS
Definition cs_defs.h:510
const char * cs_file_mpi_positioning_name[]
Definition cs_file.c:341
const char * cs_file_access_name[]
Definition cs_file.c:331
void cs_file_dump(const cs_file_t *f)
Dump the metadata of a file structure in human readable form.
Definition cs_file.c:3557
cs_file_off_t cs_file_tell(cs_file_t *f)
Return the position of the file pointer.
Definition cs_file.c:3465
int cs_file_get_swap_endian(const cs_file_t *f)
Return a file's byte-swapping behavior.
Definition cs_file.c:2727
void cs_file_get_default_access(cs_file_mode_t mode, cs_file_access_t *method, MPI_Info *hints)
Get the default options for file access.
Definition cs_file.c:3668
void cs_file_serializer_destroy(cs_file_serializer_t **s)
Destroy a cs_file_serializer_t structure.
Definition cs_file.c:4172
void cs_file_set_default_comm(int block_rank_step, MPI_Comm comm)
Set default MPI communicator values for file access.
Definition cs_file.c:3875
const char * cs_file_get_name(const cs_file_t *f)
Return a file's name.
Definition cs_file.c:2676
struct _cs_file_serializer_t cs_file_serializer_t
Definition cs_file.h:59
cs_file_t * cs_file_open(const char *name, cs_file_mode_t mode, cs_file_access_t method, MPI_Info hints, MPI_Comm block_comm, MPI_Comm comm)
Create a file descriptor and open the associated file.
Definition cs_file.c:2416
cs_file_serializer_t * cs_file_serializer_create(size_t size, size_t stride, cs_gnum_t global_num_start, cs_gnum_t global_num_end, size_t buf_block_size, void *buf, MPI_Comm comm)
Create a cs_file_serializer_t structure.
Definition cs_file.c:4140
int cs_file_isdir(const char *path)
Check if a directory exists.
Definition cs_file.c:4458
void cs_file_get_default_comm(int *block_rank_step, MPI_Comm *block_comm, MPI_Comm *comm)
Get default MPI communicator values for file access.
Definition cs_file.c:3823
long long cs_file_off_t
Definition cs_file.h:107
size_t cs_file_write_global(cs_file_t *f, const void *buf, size_t size, size_t ni)
Write global data to a file.
Definition cs_file.c:2866
cs_file_t * cs_file_free(cs_file_t *f)
Destroy a file descriptor and close the associated file.
Definition cs_file.c:2646
cs_file_t * cs_file_open_default(const char *name, cs_file_mode_t mode)
Create a file descriptor and open the associated file, using the default file communicator and access...
Definition cs_file.c:2562
char * cs_file_gets_try(char *s, const int size, const cs_file_t *f, int *line)
Formatted input from a text file if possible (as fgets()).
Definition cs_file.c:3540
cs_file_access_t
Definition cs_file.h:84
@ CS_FILE_MPI_INDEPENDENT
Definition cs_file.h:89
@ CS_FILE_STDIO_SERIAL
Definition cs_file.h:87
@ CS_FILE_MPI_COLLECTIVE
Definition cs_file.h:91
@ CS_FILE_MPI_NON_COLLECTIVE
Definition cs_file.h:90
@ CS_FILE_STDIO_PARALLEL
Definition cs_file.h:88
@ CS_FILE_DEFAULT
Definition cs_file.h:86
size_t cs_file_read_block(cs_file_t *f, void *buf, size_t size, size_t stride, cs_gnum_t global_num_start, cs_gnum_t global_num_end)
Read data to a buffer, distributing a contiguous part of it to each process associated with a file.
Definition cs_file.c:2996
void cs_file_free_defaults(void)
Free the default options for file access.
Definition cs_file.c:3623
void cs_file_set_big_endian(cs_file_t *f)
Ensure that data is read or written in big-endian (network standard) format.
Definition cs_file.c:2693
size_t cs_file_write_block_buffer(cs_file_t *f, void *buf, size_t size, size_t stride, cs_gnum_t global_num_start, cs_gnum_t global_num_end)
Write data to a file, each associated process providing a contiguous part of this data.
Definition cs_file.c:3244
cs_file_off_t cs_file_size(const char *path)
Return the size of a file.
Definition cs_file.c:4564
int cs_file_remove(const char *path)
Remove a file if it exists and is a regular file or an empty directory.
Definition cs_file.c:4617
int cs_file_seek(cs_file_t *f, cs_file_off_t offset, cs_file_seek_t whence)
Update the file pointer according to whence.
Definition cs_file.c:3376
int cs_file_endswith(const char *path, const char *end)
Check if file name/path ends with a specific string.
Definition cs_file.c:4685
int cs_file_isreg(const char *path)
Check if a file exists and is a regular file.
Definition cs_file.c:4412
void cs_file_set_mpi_io_positioning(cs_file_mpi_positioning_t positioning)
Set the positioning method for MPI-IO.
Definition cs_file.c:4019
void cs_file_defaults_info(void)
Print information on default options for file access.
Definition cs_file.c:4031
cs_file_mode_t
Definition cs_file.h:64
@ CS_FILE_MODE_APPEND
Definition cs_file.h:68
@ CS_FILE_MODE_WRITE
Definition cs_file.h:67
@ CS_FILE_MODE_READ
Definition cs_file.h:66
size_t cs_file_read_global(cs_file_t *f, void *buf, size_t size, size_t ni)
Read global data from a file, distributing it to all processes associated with that file.
Definition cs_file.c:2768
MPI_Comm cs_file_block_comm(int block_rank_step, MPI_Comm comm)
Create an MPI communicator for distributed block parallel IO.
Definition cs_file.c:3929
char ** cs_file_listdir(const char *path)
List files inside a directory.
Definition cs_file.c:4505
void cs_file_set_default_access(cs_file_mode_t mode, cs_file_access_t method, MPI_Info hints)
Set the default options for file access.
Definition cs_file.c:3734
char * cs_file_gets(char *s, const int size, const cs_file_t *f, int *line)
Formatted input from a text file (as fgets()).
Definition cs_file.c:3512
int cs_file_mkdir_default(const char *path)
Create a new directory using default permissions.
Definition cs_file.c:4337
cs_file_seek_t
Definition cs_file.h:74
@ CS_FILE_SEEK_CUR
Definition cs_file.h:77
@ CS_FILE_SEEK_END
Definition cs_file.h:78
@ CS_FILE_SEEK_SET
Definition cs_file.h:76
cs_file_t * cs_file_open_serial(const char *name, cs_file_mode_t mode)
Create a file descriptor and open the associated file, using the serial IO on the root rank.
Definition cs_file.c:2616
size_t cs_file_write_block(cs_file_t *f, const void *buf, size_t size, size_t stride, cs_gnum_t global_num_start, cs_gnum_t global_num_end)
Write data to a file, each associated process providing a contiguous part of this data.
Definition cs_file.c:3133
cs_file_mpi_positioning_t cs_file_get_mpi_io_positioning(void)
Get the positioning method for MPI-IO.
Definition cs_file.c:3995
cs_file_mpi_positioning_t
Definition cs_file.h:97
@ CS_FILE_MPI_INDIVIDUAL_POINTERS
Definition cs_file.h:100
@ CS_FILE_MPI_EXPLICIT_OFFSETS
Definition cs_file.h:99
struct _cs_file_t cs_file_t
Definition cs_file.h:54
void * cs_file_serializer_advance(cs_file_serializer_t *s, cs_gnum_t cur_range[2])
Advance a cs_file_serializer_t structure.
Definition cs_file.c:4205
void cs_file_set_swap_endian(cs_file_t *f, int swap)
Set a file's byte-swapping behavior.
Definition cs_file.c:2744