mesa/src/util/os_file.h
Pierre-Eric Pelloux-Prayer 2cb965e5b6 util/os_file: extend os_read_file to return the file size
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4181>
2020-03-24 08:30:34 +01:00

51 lines
1.2 KiB
C

/*
* Copyright 2019 Intel Corporation
* SPDX-License-Identifier: MIT
*
* File operations helpers
*/
#ifndef _OS_FILE_H_
#define _OS_FILE_H_
#include <stdbool.h>
#include <stdio.h>
#ifdef __cplusplus
extern "C" {
#endif
/*
* Create a new file and opens it for writing-only.
* If the given filename already exists, nothing is done and NULL is returned.
* `errno` gets set to the failure reason; if that is not EEXIST, the caller
* might want to do something other than trying again.
*/
FILE *
os_file_create_unique(const char *filename, int filemode);
/*
* Read a file.
* Returns a char* that the caller must free(), or NULL and sets errno.
* If size is not null and no error occured it's set to the size of the
* file.
*/
char *
os_read_file(const char *filename, size_t *size);
/*
* Try to determine if two file descriptors reference the same file description
*
* Return values:
* - 0: They reference the same file description
* - > 0: They do not reference the same file description
* - < 0: Unable to determine whether they reference the same file description
*/
int
os_same_file_description(int fd1, int fd2);
#ifdef __cplusplus
}
#endif
#endif /* _OS_FILE_H_ */