37 #ifdef CONF_RCX_MESSAGE
58 #define LNP_DUMMY_INTEGRITY ((lnp_integrity_handler_t)0)
61 #define LNP_DUMMY_ADDRESSING ((lnp_addressing_handler_t)0)
63 #ifdef CONF_RCX_PROTOCOL
70 #define LNP_DUMMY_REMOTE ((lnp_remote_handler_t)0)
89 #ifdef CONF_RCX_PROTOCOL
103 lnp_integrity_handler = handler;
109 if (!(port & CONF_LNP_HOSTMASK))
111 lnp_addressing_handler[port] = handler;
117 lnp_hostaddr = ((host << 4) & CONF_LNP_HOSTMASK);
120 #ifdef CONF_RCX_PROTOCOL
124 lnp_remote_handler = handler;
128 #ifdef CONF_RCX_MESSAGE
133 extern int send_msg(
unsigned char msg);
164 unsigned char dest,
unsigned char srcport);
void(* lnp_integrity_handler_t)(const unsigned char *, unsigned char)
the integrity layer packet handler type
int send_msg(unsigned char msg)
send a standard firmware message
void lnp_remote_set_handler(lnp_remote_handler_t handler)
set the remote packet handler
void clear_msg(void)
clear last message from standard firmware
volatile lnp_addressing_handler_t lnp_addressing_handler[]
addressing layer packets may be directed to a variety of ports.
lnp_remote_handler_t lnp_remote_handler
packets from remote have no ports
volatile lnp_integrity_handler_t lnp_integrity_handler
there are no ports for integrity layer packets, so there's just
void lnp_set_hostaddr(unsigned char host)
set new LNP host address
unsigned char get_msg(void)
read received message from standard firmware
void lnp_addressing_set_handler(unsigned char port, lnp_addressing_handler_t handler)
set an addressing layer packet handler for a port.
void(* lnp_remote_handler_t)(unsigned int)
handler for remote
void lnp_integrity_set_handler(lnp_integrity_handler_t handler)
set the integrity layer packet handler
int lnp_addressing_write(const unsigned char *data, unsigned char length, unsigned char dest, unsigned char srcport)
send a LNP addressing layer packet of given length
Interface: reduced UNIX standard library.
int lnp_integrity_write(const unsigned char *data, unsigned char length)
send a LNP integrity layer packet of given length
unsigned long wakeup_t
wakeup data area type
wakeup_t msg_received(wakeup_t m)
wait until receive a message
unsigned char lnp_hostaddr
LNP host address.
unsigned char lnp_rcx_message
message variable
wakeup_t wait_event(wakeup_t(*wakeup)(wakeup_t), wakeup_t data)
void(* lnp_addressing_handler_t)(const unsigned char *, unsigned char, unsigned char)
the addressing layer packet handler type