5 * @brief definition of an address space as provided by the
16 /* @brief type of a mezzanine isr */
17 typedef int (*isrcb_t
)(
21 /* @brief type of a get_address_space entry point */
23 struct carrier_as
*as
,
26 int address_space_number
);
28 /* @brief type of a register_isr entry point */
29 typedef int (*risr_t
)(
37 /** @brief register a carrier's entry points in the carrier
39 * @param carrier_type official name of the driver
40 * @param get_address_space its gas_t entry point
41 * @param register_isr its risr_t entry point
43 * @return 0 on success
44 * @return <0 on failure
46 int modulbus_carrier_register(
48 gas_t get_address_space
,
51 /** @brief unregister a carrier from the entry point list
53 * @param name official name of the driver
55 * @return 0 on success
56 * @return <0 on failure
59 int modulbus_carrier_unregister(char *name
);
61 /** @brief get a carrier's entry point for getting address spaces
62 * @param - official name of the carrier driver
64 * @return - a valid pointer to the entry point
65 * @return - NULL on failure
67 gas_t
modulbus_carrier_as_entry(char *carrier
);
69 /** @brief get a carrier's entry point for registering ISR callbacks
70 * @param - official name of the carrier driver
72 * @return - a valid pointer to the entry point
73 * @return - NULL on failure
75 risr_t
modulbus_carrier_isr_entry(char *carrier
);
77 #endif /*_CARRIER_H_ */