Index: native_client_sdk/src/libraries/nacl_io/kernel_handle.h |
diff --git a/native_client_sdk/src/libraries/nacl_io/kernel_handle.h b/native_client_sdk/src/libraries/nacl_io/kernel_handle.h |
index 44275805b219610cb3a9110c04bf057d90af68a5..a4609c3606c734d6ee49549c2d2dc10f7a2737df 100644 |
--- a/native_client_sdk/src/libraries/nacl_io/kernel_handle.h |
+++ b/native_client_sdk/src/libraries/nacl_io/kernel_handle.h |
@@ -7,10 +7,12 @@ |
#include <fcntl.h> |
#include <pthread.h> |
+#include <ppapi/c/pp_resource.h> |
#include "nacl_io/error.h" |
#include "nacl_io/mount.h" |
#include "nacl_io/mount_node.h" |
+#include "nacl_io/ossocket.h" |
#include "nacl_io/ostypes.h" |
#include "sdk_util/macros.h" |
@@ -45,29 +47,43 @@ class KernelHandle : public sdk_util::RefObject { |
Error Init(int open_flags); |
+ Error Accept(PP_Resource* new_sock, struct sockaddr* addr, socklen_t* len); |
+ Error Connect(const struct sockaddr* addr, socklen_t len); |
+ Error Fcntl(int request, int* result, ...); |
+ Error VFcntl(int request, int* result, va_list args); |
+ Error GetDents(struct dirent* pdir, size_t count, int* bytes_written); |
+ Error Read(void* buf, size_t nbytes, int* bytes_read); |
+ Error Recv(void* buf, size_t len, int flags, int* out_len); |
+ Error RecvFrom(void* buf, |
+ size_t len, |
+ int flags, |
+ struct sockaddr* src_addr, |
+ socklen_t* addrlen, |
+ int* out_len); |
// Assumes |out_offset| is non-NULL. |
Error Seek(off_t offset, int whence, off_t* out_offset); |
- |
- // Dispatches Read, Write, GetDents to atomically update offs_. |
- Error Read(void* buf, size_t nbytes, int* bytes_read); |
+ Error Send(const void* buf, size_t len, int flags, int* out_len); |
+ Error SendTo(const void* buf, |
+ size_t len, |
+ int flags, |
+ const struct sockaddr* dest_addr, |
+ socklen_t addrlen, |
+ int* out_len); |
Error Write(const void* buf, size_t nbytes, int* bytes_written); |
- Error GetDents(struct dirent* pdir, size_t count, int* bytes_written); |
- Error Fcntl(int request, int* result, ...); |
- Error VFcntl(int request, int* result, va_list args); |
const ScopedMountNode& node() { return node_; } |
const ScopedMount& mount() { return mount_; } |
+ const HandleAttr& Attr() { return handle_attr_; } |
+private: |
// Returns the MountNodeSocket* if this node is a socket otherwise returns |
// NULL. |
MountNodeSocket* socket_node(); |
- const HandleAttr& Data() { return handle_data_; } |
-private: |
ScopedMount mount_; |
ScopedMountNode node_; |
sdk_util::SimpleLock handle_lock_; |
- HandleAttr handle_data_; |
+ HandleAttr handle_attr_; |
friend class KernelProxy; |
DISALLOW_COPY_AND_ASSIGN(KernelHandle); |