ApertureOS
Data Structures | Typedefs | Enumerations | Functions
socket.h File Reference
#include "types.h"
#include "managers.h"
Include dependency graph for socket.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  SocketDesc
 The description of the socket. More...
 
struct  SocketConnectionDesc
 The description of the socket connection. More...
 

Typedefs

typedef uint32_t(* Sock_ReadAsync) (uint8_t *buffer, uint32_t size)
 A pointer to a function that asynchronously performs a Socket read. More...
 
typedef uint32_t(* Sock_SeekAsync) (uint64_t offset, int whence)
 A pointer to a function that asynchronously performs a Socket seek. More...
 
typedef uint32_t(* Sock_WriteAsync) (uint8_t *src_buf, uint32_t size)
 A pointer to a function that asynchronously performs a Socket write. More...
 

Enumerations

enum  SOCK_ERROR {
  SOCK_ERROR_NONE = 0, SOCK_ERROR_UNKNOWN = 1 << 0, SOCK_ERROR_NO_FREE_CONNECTIONS = 1 << 1, SOCK_ERROR_NO_PERMS = 1 << 2,
  SOCK_ERROR_FAILED_BUSY = 1 << 3, SOCK_ERROR_EXISTS = 1 << 4, SOCK_ERROR_NOT_EXIST = 1 << 5
}
 Socket errors. More...
 
enum  SOCK_FEATURES {
  SOCK_FEAT_NONE = 0, SOCK_FEAT_WRITABLE = 1, SOCK_FEAT_READABLE = 2, SOCK_FEAT_SEEKABLE = 4,
  SOCK_FEAT_NOTIFICATION = 8, SOCK_FEAT_SUPERVISOR = 32
}
 Socket features. More...
 
enum  SOCK_NOTIFICATIONS {
  SOCK_NOTIFICATIONS_NONE = 0, SOCK_NOTIFICATION_WRITE = 1<<0, SOCK_NOTIFICATION_READ = 1<<1, SOCK_NOTIFICATION_SEEK = 1<<2,
  SOCK_NOTIFICATION_CONNECT = 1<<3, SOCK_NOTIFICATION_DISCONNECT = 1<<4, SOCK_NOTIFICATION_COMPLETE = 1 << 31
}
 Socket notifications. More...
 

Functions

SOCK_ERROR Socket_Create (const char *name, SocketDesc *desc)
 Create a new Socket and register it to the kernel. More...
 
SOCK_ERROR Socket_Connect (const char *name, SocketConnectionDesc *desc, UID *id)
 Attempt to connect to a socket. More...
 
SOCK_ERROR Socket_Disconnect (UID id)
 Attempt to disconnect from the socket. More...
 
SOCK_ERROR Socket_ReadAsync (UID id, uint8_t *buffer, uint32_t size)
 Request an asynchronous read from the socket. More...
 
SOCK_ERROR Socket_WriteAsync (UID id, uint8_t *buffer, uint32_t size)
 Request an asynchronous write to the socket. More...
 
SOCK_ERROR Socket_SeekAsync (UID id, uint64_t offset, int whence)
 Request an asynchronous seek of the socket. More...