函数逻辑报告 |
Source Code:include\linux\uio.h |
Create Date:2022-07-27 06:47:31 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:iov_iter_count
函数原型:static inline size_t iov_iter_count(const struct iov_iter *i)
返回类型:size_t
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| const struct iov_iter * | i |
| 235 | 返回:count |
| 名称 | 描述 |
|---|---|
| generic_load_microcode | |
| devkmsg_write | |
| generic_file_buffered_read | generic_file_buffered_read - generic file read routine*@iocb: the iocb to read*@iter: data destination*@written: already copied* This is a generic file read routine, and uses the* mapping->a_ops->readpage() function for the actual low-level stuff. |
| generic_file_read_iter | generic_file_read_iter - generic filesystem read routine*@iocb: kernel I/O control block*@iter: destination for the data read* This is the "read_iter()" routine for all filesystems* that can use the page cache directly |
| generic_write_checks | Performs necessary checks before doing a write* Can adjust writing position or amount of bytes to write.* Returns appropriate error code that caller should return or* zero in case that write should be allowed. |
| generic_file_direct_write | |
| generic_perform_write | |
| __generic_file_write_iter | __generic_file_write_iter - write data to a file*@iocb: IO state structure (file, offset, etc.)*@from: iov_iter with data to write* This function does all the work needed for actually writing data to a* file |
| process_vm_rw_pages | process_vm_rw_pages - read/write pages from task specified*@pages: array of pointers to pages we want to copy*@offset: offset in page to start copying from/to*@len: number of bytes to copy*@iter: where to copy to/from locally*@vm_write: 0 means copy from, |
| process_vm_rw_single_vec | process_vm_rw_single_vec - read/write pages from task specified*@addr: start memory address of target process*@len: size of area to copy to/from*@iter: where to copy to/from locally*@process_pages: struct pages area that can store at least* |
| process_vm_rw_core | process_vm_rw_core - core of reading/writing pages from task specified*@pid: PID of process to read/write from/to*@iter: where to copy to/from locally*@rvec: iovec array specifying where to copy to/from in the other process*@riovcnt: size of rvec |
| process_vm_rw | process_vm_rw - check iovecs before calling core routine*@pid: PID of process to read/write from/to*@lvec: iovec array specifying where to copy to/from locally*@liovcnt: size of lvec array*@rvec: iovec array specifying where to copy to/from in the other |
| compat_process_vm_rw | |
| bio_iov_iter_get_pages | _iov_iter_get_pages - add user or kernel pages to a bio*@bio: bio to add pages to*@iter: iov iterator describing the region to be added* This takes either an iterator pointing to user memory, or one pointing to* kernel pages (BVEC iterator) |
| bio_copy_from_iter | _copy_from_iter - copy all pages from iov_iter to bio*@bio: The &struct bio which describes the I/O as destination*@iter: iov_iter as source* Copy all pages from iov_iter to bio.* Returns 0 on success, or error on failure. |
| bio_copy_to_iter | _copy_to_iter - copy all pages from bio to iov_iter*@bio: The &struct bio which describes the I/O as source*@iter: iov_iter as destination* Copy all pages from bio to iov_iter.* Returns 0 on success, or error on failure. |
| bio_map_user_iov | _map_user_iov - map user iovec into bio*@q: the struct request_queue for the bio*@iter: iovec iterator*@gfp_mask: memory allocation flags* Map the user space address into a bio suitable for io to a block* device. Returns an error pointer in case of error. |
| blk_rq_map_user_iov | lk_rq_map_user_iov - map user data to a request, for passthrough requests*@q: request queue where request should be inserted*@rq: request to map data to*@map_data: pointer to the rq_map_data holding pages (if necessary)*@iter: iovec iterator*@gfp_mask: |
| keyctl_instantiate_key_common | Instantiate a key with the specified payload and link the key into the* destination keyring if one is given.* The caller must have the appropriate instantiation permit set for this to* work (see keyctl_assume_authority). No other permissions are required. |
| do_loop_readv_writev | Do it by hand, with file-ops |
| do_iter_read | |
| do_iter_write | |
| pipe_read | |
| pipe_write | |
| iter_to_pipe | |
| vmsplice_to_user | For lack of a better implementation, implement vmsplice() to userspace* as a simple copy of the pipes pages to the user iov. |
| do_vmsplice | Note that vmsplice only really supports true splicing _from_ user memory* to a pipe, not the other way around. Splicing from user memory is a simple* operation that can be supported without any funky alignment restrictions* or nasty vm tricks |
| blkdev_write_iter | Write data to the block device. Only intended for the block device itself* and the raw driver which basically is a fake block device.* Does not take i_mutex for the write and thus is not for general purpose* use. |
| do_blockdev_direct_IO | This is a library function for use by filesystem drivers |
| aio_read | |
| aio_write | |
| loop_rw_iter | For files that don't have ->read_iter() and ->write_iter(), handle them* by looping over ->read() or ->write() manually. |
| io_read | |
| io_write | |
| dax_iomap_rw | dax_iomap_rw - Perform I/O to a DAX file*@iocb: The control block for this I/O*@iter: The addresses to do I/O from or to*@ops: iomap ops passed from the file system* This function performs read and write operations to directly mapped* persistent memory |
| iomap_write_actor | |
| iomap_file_buffered_write | |
| iomap_dio_bio_actor | |
| iomap_dio_rw | map_dio_rw() always completes O_[D]SYNC writes regardless of whether the IO* is being issued as AIO or not. This allows us to optimise pure data writes* to use REQ_FUA rather than requiring generic_write_sync() to issue a* REQ_FLUSH post write |
| msg_data_left |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |