Skip to content
Permalink
Browse files

posix: Move sys/stat.h to minimal libc

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 Jun 5, 2019
1 parent 491702a commit 3693f858051c1b0812ffa52cfdc349b7f8f8371f
Showing with 43 additions and 57 deletions.
  1. +0 −54 include/posix/sys/stat.h
  2. +43 −3 lib/libc/minimal/include/sys/stat.h

This file was deleted.

@@ -1,9 +1,49 @@
/*
* Copyright (c) 2018 Linaro Limited
* Copyright (c) 2018 Intel Corporation
*
* 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.
You can’t perform that action at this time.