Skip to content

Commit

Permalink
posix: Move sys/stat.h to minimal libc
Browse files Browse the repository at this point in the history
Newlib libc already provides sys/stat.h, so trying to have sys/stat.h
on the level of POSIX subsys inevitable leads to include order and
definition conflicts. Instead (as most of other sys/* includes)
should come from the underlying libc.

While moving, made unrelated change of removing #include <kernel.h>,
to accommodate the change reviewers.

Signed-off-by: Paul Sokolovsky <paul.sokolovsky@linaro.org>
  • Loading branch information
pfalcon authored and galak committed Jul 25, 2019
1 parent 491702a commit 3693f85
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 57 deletions.
54 changes: 0 additions & 54 deletions include/posix/sys/stat.h

This file was deleted.

46 changes: 43 additions & 3 deletions lib/libc/minimal/include/sys/stat.h
@@ -1,9 +1,49 @@
/* /*
* Copyright (c) 2018 Linaro Limited * Copyright (c) 2018 Intel Corporation
* *
* SPDX-License-Identifier: Apache-2.0 * SPDX-License-Identifier: Apache-2.0
*/ */


#ifndef ZEPHYR_LIB_LIBC_MINIMAL_INCLUDE_SYS_STAT_H_
#define ZEPHYR_LIB_LIBC_MINIMAL_INCLUDE_SYS_STAT_H_


/* Dummy sys/stat.h to fulfill the requirements of certain libraries. #ifdef __cplusplus
*/ extern "C" {
#endif

#define S_IRWXU 00700
#define S_IRUSR 00400
#define S_IWUSR 00200
#define S_IXUSR 00100

#define S_IRWXG 00070
#define S_IRGRP 00040
#define S_IWGRP 00020
#define S_IXGRP 00010

#define S_IRWXO 00007
#define S_IROTH 00004
#define S_IWOTH 00002
#define S_IXOTH 00001

/* File open modes */
#define O_ACCMODE 0003
#define O_RDONLY 00
#define O_WRONLY 01
#define O_RDWR 02

#define SEEK_SET 0 /* Seek from beginning of file. */
#define SEEK_CUR 1 /* Seek from current position. */
#define SEEK_END 2 /* Seek from end of file. */

struct stat {
unsigned long st_size;
unsigned long st_blksize;
unsigned long st_blocks;
};

#ifdef __cplusplus
}
#endif

#endif /* ZEPHYR_LIB_LIBC_MINIMAL_INCLUDE_SYS_STAT_H_ */

0 comments on commit 3693f85

Please sign in to comment.