Function report | 
Source Code:fs\readdir.c | 
Create Date:2022-07-28 20:06:36 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:filldir
Proto:static int filldir(struct dir_context *ctx, const char *name, int namlen, loff_t offset, u64 ino, unsigned int d_type)
Type:int
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct dir_context * | ctx | |
| const char * | name | |
| int | namlen | |
| loff_t | offset | |
| u64 | ino | |
| unsigned int | d_type | 
| 225 | reclen = @a is a power of 2 value (offsetof(structlinux_dirent, d_name) + namlen + 2, sizeof(long)) | 
| 230 | If Value for the false possibility is greater at compile time(error) Then Return error | 
| 240 | prev_reclen = prev_reclen | 
| 241 | If prev_reclen && signal_pending(current process) Then Return -EINTR | 
| 243 | dirent = current_dir | 
| 244 | prev = dirent - prev_reclen | 
| 249 | unsafe_put_user(offset, & d_off, efault_end) | 
| 250 | unsafe_put_user(d_ino, & d_ino, efault_end) | 
| 251 | unsafe_put_user(reclen, & d_reclen, efault_end) | 
| 252 | unsafe_put_user(d_type, (char__user * )dirent + reclen - 1, efault_end) | 
| 253 | Note the "unsafe_put_user() semantics: we goto a* label for errors.(d_name, name, namlen, efault_end) | 
| 254 | user_access_end() | 
| 256 | current_dir = dirent + reclen | 
| 257 | prev_reclen = reclen | 
| 259 | Return 0 | 
| 260 | efault_end : | 
| 261 | user_access_end() | 
| 262 | efault : | 
| 264 | Return -EFAULT | 
| Source code conversion tool public plug-in interface  | X | 
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion  |