OpenCloudOS-Kernel/arch/frv/include/uapi/asm/stat.h

102 lines
2.2 KiB
C
Raw Normal View History

License cleanup: add SPDX license identifier to uapi header files with no license Many user space API headers are missing licensing information, which makes it hard for compliance tools to determine the correct license. By default are files without license information under the default license of the kernel, which is GPLV2. Marking them GPLV2 would exclude them from being included in non GPLV2 code, which is obviously not intended. The user space API headers fall under the syscall exception which is in the kernels COPYING file: NOTE! This copyright does *not* cover user programs that use kernel services by normal system calls - this is merely considered normal use of the kernel, and does *not* fall under the heading of "derived work". otherwise syscall usage would not be possible. Update the files which contain no license information with an SPDX license identifier. The chosen identifier is 'GPL-2.0 WITH Linux-syscall-note' which is the officially assigned identifier for the Linux syscall exception. SPDX license identifiers are a legally binding shorthand, which can be used instead of the full boiler plate text. This patch is based on work done by Thomas Gleixner and Kate Stewart and Philippe Ombredanne. See the previous patch in this series for the methodology of how this patch was researched. Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org> Reviewed-by: Philippe Ombredanne <pombredanne@nexb.com> Reviewed-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-11-01 22:08:43 +08:00
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef _ASM_STAT_H
#define _ASM_STAT_H
struct __old_kernel_stat {
unsigned short st_dev;
unsigned short st_ino;
unsigned short st_mode;
unsigned short st_nlink;
unsigned short st_uid;
unsigned short st_gid;
unsigned short st_rdev;
unsigned long st_size;
unsigned long st_atime;
unsigned long st_mtime;
unsigned long st_ctime;
};
/* This matches struct stat in uClibc/glibc. */
struct stat {
unsigned char __pad1[6];
unsigned short st_dev;
unsigned long __pad2;
unsigned long st_ino;
unsigned short __pad3;
unsigned short st_mode;
unsigned short __pad4;
unsigned short st_nlink;
unsigned short __pad5;
unsigned short st_uid;
unsigned short __pad6;
unsigned short st_gid;
unsigned char __pad7[6];
unsigned short st_rdev;
unsigned long __pad8;
unsigned long st_size;
unsigned long __pad9; /* align 64-bit st_blocks to 2-word */
unsigned long st_blksize;
unsigned long __pad10; /* future possible st_blocks high bits */
unsigned long st_blocks; /* Number 512-byte blocks allocated. */
unsigned long __unused1;
unsigned long st_atime;
unsigned long __unused2;
unsigned long st_mtime;
unsigned long __unused3;
unsigned long st_ctime;
unsigned long long __unused4;
};
/* This matches struct stat64 in uClibc/glibc. The layout is exactly
the same as that of struct stat above, with 64-bit types taking up
space that was formerly used by padding. stat syscalls are still
different from stat64, though, in that the former tests for
overflow. */
struct stat64 {
unsigned char __pad1[6];
unsigned short st_dev;
unsigned long long st_ino;
unsigned int st_mode;
unsigned int st_nlink;
unsigned long st_uid;
unsigned long st_gid;
unsigned char __pad2[6];
unsigned short st_rdev;
long long st_size;
unsigned long __pad3; /* align 64-bit st_blocks to 2-word */
unsigned long st_blksize;
unsigned long __pad4; /* future possible st_blocks high bits */
unsigned long st_blocks; /* Number 512-byte blocks allocated. */
unsigned long st_atime_nsec;
unsigned long st_atime;
unsigned int st_mtime_nsec;
unsigned long st_mtime;
unsigned long st_ctime_nsec;
unsigned long st_ctime;
unsigned long long __unused4;
};
#endif /* _ASM_STAT_H */