105 lines · 2.5 KB · C
RawDownload
// SPDX-License-Identifier: GPL-2.0#include <linux/fs.h>#include <linux/export.h> /* * fs on-disk file type to dirent file type conversion */static const unsigned char fs_dtype_by_ftype[FT_MAX] = {	[FT_UNKNOWN]	= DT_UNKNOWN,	[FT_REG_FILE]	= DT_REG,	[FT_DIR]	= DT_DIR,	[FT_CHRDEV]	= DT_CHR,	[FT_BLKDEV]	= DT_BLK,	[FT_FIFO]	= DT_FIFO,	[FT_SOCK]	= DT_SOCK,	[FT_SYMLINK]	= DT_LNK}; /** * fs_ftype_to_dtype() - fs on-disk file type to dirent type. * @filetype: The on-disk file type to convert. * * This function converts the on-disk file type value (FT_*) to the directory * entry type (DT_*). * * Context: Any context. * Return: * * DT_UNKNOWN		- Unknown type * * DT_FIFO		- FIFO * * DT_CHR		- Character device * * DT_DIR		- Directory * * DT_BLK		- Block device * * DT_REG		- Regular file * * DT_LNK		- Symbolic link * * DT_SOCK		- Local-domain socket */unsigned char fs_ftype_to_dtype(unsigned int filetype){	if (filetype >= FT_MAX)		return DT_UNKNOWN; 	return fs_dtype_by_ftype[filetype];}EXPORT_SYMBOL_GPL(fs_ftype_to_dtype); /* * dirent file type to fs on-disk file type conversion * Values not initialized explicitly are FT_UNKNOWN (0). */static const unsigned char fs_ftype_by_dtype[DT_MAX] = {	[DT_REG]	= FT_REG_FILE,	[DT_DIR]	= FT_DIR,	[DT_LNK]	= FT_SYMLINK,	[DT_CHR]	= FT_CHRDEV,	[DT_BLK]	= FT_BLKDEV,	[DT_FIFO]	= FT_FIFO,	[DT_SOCK]	= FT_SOCK,}; /** * fs_umode_to_ftype() - file mode to on-disk file type. * @mode: The file mode to convert. * * This function converts the file mode value to the on-disk file type (FT_*). * * Context: Any context. * Return: * * FT_UNKNOWN		- Unknown type * * FT_REG_FILE	- Regular file * * FT_DIR		- Directory * * FT_CHRDEV		- Character device * * FT_BLKDEV		- Block device * * FT_FIFO		- FIFO * * FT_SOCK		- Local-domain socket * * FT_SYMLINK		- Symbolic link */unsigned char fs_umode_to_ftype(umode_t mode){	return fs_ftype_by_dtype[S_DT(mode)];}EXPORT_SYMBOL_GPL(fs_umode_to_ftype); /** * fs_umode_to_dtype() - file mode to dirent file type. * @mode: The file mode to convert. * * This function converts the file mode value to the directory * entry type (DT_*). * * Context: Any context. * Return: * * DT_UNKNOWN		- Unknown type * * DT_FIFO		- FIFO * * DT_CHR		- Character device * * DT_DIR		- Directory * * DT_BLK		- Block device * * DT_REG		- Regular file * * DT_LNK		- Symbolic link * * DT_SOCK		- Local-domain socket */unsigned char fs_umode_to_dtype(umode_t mode){	return fs_ftype_to_dtype(fs_umode_to_ftype(mode));}EXPORT_SYMBOL_GPL(fs_umode_to_dtype);

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t