nm_minidriver_interface.h
Go to the documentation of this file.
void nm_data_chunk_properties_compute(const struct nm_data_s *p_data, nm_len_t chunk_offset, nm_len_t chunk_len, struct nm_data_properties_s *p_props)
compute properties of the given chunk inside the data
assert(p_data->ops.p_traversal !=NULL)
static void nm_data_contiguous_build(struct nm_data_s *p_data, void *ptr, nm_len_t len)
Definition nm_data.h:561
This file contains error codes definitions.
Definition of the minidriver interface.
static void nm_minidriver_properties_init(struct nm_minidriver_properties_s *p_props)
initialize all properties to 0
Definition nm_minidriver.h:468
static void nm_minidriver_properties_normalize(struct nm_minidriver_properties_s *p_props)
ensure properties are in canonical form
Definition nm_minidriver.h:473
static void nm_minidriver_recv(struct puk_receptacle_NewMad_minidriver_s *r, const struct nm_minidriver_properties_s *p_props, void *buf, size_t len)
Definition nm_minidriver_interface.h:228
static int nm_minidriver_recv_cancel(struct puk_receptacle_NewMad_minidriver_s *r, const struct nm_minidriver_properties_s *p_props __attribute__((unused)), struct nm_pkt_s *p_pkt)
Definition nm_minidriver_interface.h:252
static void nm_minidriver_close(const struct nm_minidriver_iface_s *p_minidriver, puk_context_t p_context)
Definition nm_minidriver_interface.h:54
static void nm_minidriver_send(struct puk_receptacle_NewMad_minidriver_s *r, const struct nm_minidriver_properties_s *p_props, const void *buf, size_t len)
Definition nm_minidriver_interface.h:155
static void nm_minidriver_irecv(struct puk_receptacle_NewMad_minidriver_s *r, const struct nm_minidriver_properties_s *p_props __attribute__((unused)), struct nm_pkt_s *p_pkt)
Definition nm_minidriver_interface.h:197
static void nm_minidriver_init(const struct nm_minidriver_iface_s *p_minidriver, puk_context_t p_context, const void **drv_url, size_t *url_size)
Definition nm_minidriver_interface.h:48
static void nm_minidriver_recv_pkt_build(struct puk_receptacle_NewMad_minidriver_s *r, const struct nm_minidriver_properties_s *p_props __attribute__((unused)), struct nm_pkt_s *p_pkt, const void *buf, size_t len)
build a pkt suitable for receive on the given driver
Definition nm_minidriver_interface.h:175
static void nm_minidriver_send_rdv(struct puk_receptacle_NewMad_minidriver_s *r, const struct nm_minidriver_properties_s *p_props, const void *buf, size_t len, struct puk_receptacle_NewMad_minidriver_s *rrdv, const struct nm_minidriver_properties_s *p_props_rdv)
Definition nm_minidriver_interface.h:287
static void nm_minidriver_disconnect(struct puk_receptacle_NewMad_minidriver_s *r)
Definition nm_minidriver_interface.h:77
static void nm_minidriver_connect(struct puk_receptacle_NewMad_minidriver_s *r, const void *remote_url, size_t url_size)
Definition nm_minidriver_interface.h:66
static void nm_minidriver_send_pkt_build(struct puk_receptacle_NewMad_minidriver_s *r, const struct nm_minidriver_properties_s *p_props __attribute__((unused)), struct nm_pkt_s *p_pkt, const void *buf, size_t len)
build a pkt suitable for sending on the given driver
Definition nm_minidriver_interface.h:89
static void nm_minidriver_recv_probe_any(const struct nm_minidriver_iface_s *p_minidriver, puk_context_t p_context, void **_status)
Definition nm_minidriver_interface.h:245
static int nm_minidriver_rpoll(struct puk_receptacle_NewMad_minidriver_s *r, const struct nm_minidriver_properties_s *p_props __attribute__((unused)), struct nm_pkt_s *p_pkt)
Definition nm_minidriver_interface.h:208
static int nm_minidriver_spoll(struct puk_receptacle_NewMad_minidriver_s *r, const struct nm_minidriver_properties_s *p_props, struct nm_pkt_s *p_pkt)
Definition nm_minidriver_interface.h:133
static void nm_minidriver_recv_rdv(struct puk_receptacle_NewMad_minidriver_s *r, const struct nm_minidriver_properties_s *p_props __attribute__((unused)), void *buf, size_t len, struct puk_receptacle_NewMad_minidriver_s *rrdv, const struct nm_minidriver_properties_s *p_props_rdv)
Definition nm_minidriver_interface.h:264
static void nm_minidriver_isend(struct puk_receptacle_NewMad_minidriver_s *r, const struct nm_minidriver_properties_s *p_props __attribute__((unused)), struct nm_pkt_s *p_pkt)
Definition nm_minidriver_interface.h:125
static void nm_minidriver_getprops(const struct nm_minidriver_iface_s *p_minidriver, puk_context_t p_context, struct nm_minidriver_properties_s *p_props)
Definition nm_minidriver_interface.h:40
This is the common public header for NewMad.
a data descriptor, used to pack/unpack data from app layout to/from contiguous buffers
Definition nm_data.h:200
Interface driver for the 'NewMad_minidriver' component interface.
Definition nm_minidriver.h:352
void(* init)(puk_context_t context, const void **drv_url, size_t *url_size)
init the driver and get its url
Definition nm_minidriver.h:358
int(* recv_probe_any)(puk_context_t p_context, void **_status) __attribute__((warn_unused_result))
poll the driver for a pending recv from any source; returns status of instance
Definition nm_minidriver.h:439
void(* getprops)(puk_context_t context, struct nm_minidriver_properties_s *props)
get driver properties (profiling and capabilities)
Definition nm_minidriver.h:356
void * p_content
content of rdv_data; remains allocated until pkt completion
Definition nm_minidriver.h:321
struct nm_data_properties_s chunk_props
pre-computed properties for the chunk of data
Definition nm_minidriver.h:316
struct nm_pkt_s::@29 rdv_data
rdv data, filled by receiver, read by sender, if needed