| 208 | } |
| 209 | |
| 210 | U32 ksend(KThread* thread, U32 socket, U32 buffer, U32 len, U32 flags) { |
| 211 | KFileDescriptorPtr fd = thread->process->getFileDescriptor(socket); |
| 212 | |
| 213 | if (!fd) { |
| 214 | return -K_EBADF; |
| 215 | } |
| 216 | if (IS_NOT_SOCKET(fd)) { |
| 217 | return -K_ENOTSOCK; |
| 218 | } |
| 219 | std::shared_ptr<KSocketObject> s = std::dynamic_pointer_cast<KSocketObject>(fd->kobject); |
| 220 | return s->sendto(thread, fd, buffer, len, flags, 0, 0); |
| 221 | } |
| 222 | |
| 223 | U32 krecv(KThread* thread, U32 socket, U32 buffer, U32 len, U32 flags) { |
| 224 | KFileDescriptorPtr fd = thread->process->getFileDescriptor(socket); |
no test coverage detected