| 305 | |
| 306 | #include <lwp_user_mm.h> |
| 307 | rt_inline int uiomove(void *operand, int n, struct uio *uio) |
| 308 | { |
| 309 | switch (uio->uio_rw) |
| 310 | { |
| 311 | case UIO_READ: |
| 312 | memcpy(uio->uio_iov->iov_base, operand, n); |
| 313 | break; |
| 314 | case UIO_WRITE: |
| 315 | memcpy(operand, uio->uio_iov->iov_base, n); |
| 316 | break; |
| 317 | default: |
| 318 | return -1; |
| 319 | } |
| 320 | |
| 321 | uio->uio_iov->iov_base += n; |
| 322 | uio->uio_iov->iov_len--; |
| 323 | uio->uio_offset += n; |
| 324 | uio->uio_resid -= n; |
| 325 | return 0; |
| 326 | } |
| 327 | |
| 328 | /* privileges checking: 0 if okay */ |
| 329 | rt_inline int priv_check(struct rt_thread *td, int priv) |
no outgoing calls
no test coverage detected