File descriptor information I/O function handler

Updated: April 19, 2023

Prototype:

int (*fdinfo) ( resmgr_context_t *ctp,
               io_fdinfo_t *msg,
               RESMGR_OCB_T *ocb ) 

Classification:

I/O

Default handler:

iofunc_fdinfo_default()

Helper functions:

iofunc_fdinfo()

Client function:

iofdinfo()

Messages:

_IO_FDINFO

Data structure:

struct _io_fdinfo {
  uint16_t         type;
  uint16_t         combine_len;
  uint32_t         flags;
  uint32_t         path_len;
  uint32_t         reserved;
};

struct _io_fdinfo_reply {
  uint32_t         zero [2];
  struct _fdinfo   info;
};

typedef union {
  struct _io_fdinfo        i;
  struct _io_fdinfo_reply  o;
} io_fdinfo_t;

Description:

This function is used to allow clients to retrieve information directly about the attributes and pathname which is associated with a file descriptor. The client-side function iofdinfo() is used. The path string implicitly follows the struct _io_fdinfo_reply data structure. Use of the default function is sufficient for discretely-manifested pathname resource managers.

Returns:

The length of the path string being returned is set via the helper macro _IO_SET_FDINFO_LEN().

Referenced by:

resmgr_io_funcs_t I/O table

Permission checking:

The default implementation iofunc_fdinfo_default() checks the length of the path variable and then calls the helper function iofunc_fdinfo(). The helper function does not do any permission checking and none is required.