Inter-Driver API
[Driver Development API]

Collaboration diagram for Inter-Driver API:


Functions

struct rtdm_dev_contextrtdm_context_get (int fd)
void rtdm_context_lock (struct rtdm_dev_context *context)
void rtdm_context_unlock (struct rtdm_dev_context *context)
int rtdm_open (const char *path, int oflag,...)
int rtdm_socket (int protocol_family, int socket_type, int protocol)
int rtdm_close (int fd)
int rtdm_ioctl (int fd, int request,...)
ssize_t rtdm_read (int fd, void *buf, size_t nbyte)
ssize_t rtdm_write (int fd, const void *buf, size_t nbyte)
ssize_t rtdm_recvmsg (int fd, struct msghdr *msg, int flags)
ssize_t rtdm_recvfrom (int fd, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlen)
ssize_t rtdm_recv (int fd, void *buf, size_t len, int flags)
ssize_t rtdm_sendmsg (int fd, const struct msghdr *msg, int flags)
ssize_t rtdm_sendto (int fd, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen)
ssize_t rtdm_send (int fd, const void *buf, size_t len, int flags)
int rtdm_bind (int fd, const struct sockaddr *my_addr, socklen_t addrlen)
int rtdm_connect (int fd, const struct sockaddr *serv_addr, socklen_t addrlen)
int rtdm_listen (int fd, int backlog)
int rtdm_accept (int fd, struct sockaddr *addr, socklen_t *addrlen)
int rtdm_shutdown (int fd, int how)
int rtdm_getsockopt (int fd, int level, int optname, void *optval, socklen_t *optlen)
int rtdm_setsockopt (int fd, int level, int optname, const void *optval, socklen_t optlen)
int rtdm_getsockname (int fd, struct sockaddr *name, socklen_t *namelen)
int rtdm_getpeername (int fd, struct sockaddr *name, socklen_t *namelen)


Function Documentation

int rtdm_accept ( int  fd,
struct sockaddr *  addr,
socklen_t *  addrlen 
)

Accept a connection requests Refer to rt_dev_accept() for parameters and return values Environments: Depends on driver implementation, see Device Profiles.

Rescheduling: possible.

int rtdm_bind ( int  fd,
const struct sockaddr *  my_addr,
socklen_t  addrlen 
)

Bind to local address Refer to rt_dev_bind() for parameters and return values Environments: Depends on driver implementation, see Device Profiles.

Rescheduling: possible.

int rtdm_close ( int  fd  ) 

Close a device or socket Refer to rt_dev_close() for parameters and return values Environments: Depends on driver implementation, see Device Profiles.

Rescheduling: possible.

int rtdm_connect ( int  fd,
const struct sockaddr *  serv_addr,
socklen_t  addrlen 
)

Connect to remote address Refer to rt_dev_connect() for parameters and return values Environments: Depends on driver implementation, see Device Profiles.

Rescheduling: possible.

struct rtdm_dev_context* rtdm_context_get ( int  fd  )  [read]

Resolve file descriptor to device context

Parameters:
[in] fd File descriptor
Returns:
Pointer to associated device context, or NULL on error
Note:
The device context has to be unlocked using rtdm_context_unlock() when it is no longer referenced.
Environments:

This service can be called from:

Rescheduling: never.

void rtdm_context_lock ( struct rtdm_dev_context context  ) 

Increment context reference counter

Parameters:
[in] context Device context
Note:
rtdm_context_get() automatically increments the lock counter. You only need to call this function in special scenrios.
Environments:

This service can be called from:

Rescheduling: never.

void rtdm_context_unlock ( struct rtdm_dev_context context  ) 

Decrement context reference counter

Parameters:
[in] context Device context
Note:
Every successful call to rtdm_context_get() must be matched by a rtdm_context_unlock() invocation.
Environments:

This service can be called from:

Rescheduling: never.

int rtdm_getpeername ( int  fd,
struct sockaddr *  name,
socklen_t *  namelen 
)

Get socket destination address Refer to rt_dev_getpeername() for parameters and return values Environments: Depends on driver implementation, see Device Profiles.

Rescheduling: possible.

int rtdm_getsockname ( int  fd,
struct sockaddr *  name,
socklen_t *  namelen 
)

Get local socket address Refer to rt_dev_getsockname() for parameters and return values Environments: Depends on driver implementation, see Device Profiles.

Rescheduling: possible.

int rtdm_getsockopt ( int  fd,
int  level,
int  optname,
void *  optval,
socklen_t *  optlen 
)

Get socket option Refer to rt_dev_getsockopt() for parameters and return values Environments: Depends on driver implementation, see Device Profiles.

Rescheduling: possible.

int rtdm_ioctl ( int  fd,
int  request,
  ... 
)

Issue an IOCTL Refer to rt_dev_ioctl() for parameters and return values Environments: Depends on driver implementation, see Device Profiles.

Rescheduling: possible.

int rtdm_listen ( int  fd,
int  backlog 
)

Listen for incomming connection requests Refer to rt_dev_listen() for parameters and return values Environments: Depends on driver implementation, see Device Profiles.

Rescheduling: possible.

int rtdm_open ( const char *  path,
int  oflag,
  ... 
)

Open a device Refer to rt_dev_open() for parameters and return values Environments: Depends on driver implementation, see Device Profiles.

Rescheduling: possible.

ssize_t rtdm_read ( int  fd,
void *  buf,
size_t  nbyte 
)

Read from device Refer to rt_dev_read() for parameters and return values Environments: Depends on driver implementation, see Device Profiles.

Rescheduling: possible.

ssize_t rtdm_recv ( int  fd,
void *  buf,
size_t  len,
int  flags 
)

Receive message from socket Refer to rt_dev_recv() for parameters and return values Environments: Depends on driver implementation, see Device Profiles.

Rescheduling: possible.

ssize_t rtdm_recvfrom ( int  fd,
void *  buf,
size_t  len,
int  flags,
struct sockaddr *  from,
socklen_t *  fromlen 
)

Receive message from socket Refer to rt_dev_recvfrom() for parameters and return values Environments: Depends on driver implementation, see Device Profiles.

Rescheduling: possible.

ssize_t rtdm_recvmsg ( int  fd,
struct msghdr *  msg,
int  flags 
)

Receive message from socket Refer to rt_dev_recvmsg() for parameters and return values Environments: Depends on driver implementation, see Device Profiles.

Rescheduling: possible.

ssize_t rtdm_send ( int  fd,
const void *  buf,
size_t  len,
int  flags 
)

Transmit message to socket Refer to rt_dev_send() for parameters and return values Environments: Depends on driver implementation, see Device Profiles.

Rescheduling: possible.

ssize_t rtdm_sendmsg ( int  fd,
const struct msghdr *  msg,
int  flags 
)

Transmit message to socket Refer to rt_dev_sendmsg() for parameters and return values Environments: Depends on driver implementation, see Device Profiles.

Rescheduling: possible.

ssize_t rtdm_sendto ( int  fd,
const void *  buf,
size_t  len,
int  flags,
const struct sockaddr *  to,
socklen_t  tolen 
)

Transmit message to socket Refer to rt_dev_sendto() for parameters and return values Environments: Depends on driver implementation, see Device Profiles.

Rescheduling: possible.

int rtdm_setsockopt ( int  fd,
int  level,
int  optname,
const void *  optval,
socklen_t  optlen 
)

Set socket option Refer to rt_dev_setsockopt() for parameters and return values Environments: Depends on driver implementation, see Device Profiles.

Rescheduling: possible.

int rtdm_shutdown ( int  fd,
int  how 
)

Shut down parts of a connection Refer to rt_dev_shutdown() for parameters and return values Environments: Depends on driver implementation, see Device Profiles.

Rescheduling: possible.

int rtdm_socket ( int  protocol_family,
int  socket_type,
int  protocol 
)

Create a socket Refer to rt_dev_socket() for parameters and return values Environments: Depends on driver implementation, see Device Profiles.

Rescheduling: possible.

ssize_t rtdm_write ( int  fd,
const void *  buf,
size_t  nbyte 
)

Write to device Refer to rt_dev_write() for parameters and return values Environments: Depends on driver implementation, see Device Profiles.

Rescheduling: possible.


Generated on Mon Mar 24 18:02:43 2008 for Xenomai API by  doxygen 1.5.3