Updated output of whois demo. Began implementing the datalink-all concept.

This commit is contained in:
skarg
2008-01-01 23:17:28 +00:00
parent af6490c6cd
commit 8b99c8c85b
5 changed files with 73 additions and 43 deletions
+35 -32
View File
@@ -32,7 +32,9 @@
-------------------------------------------
####COPYRIGHTEND####*/
#include "datalink.h"
#include <string.h>
#if defined(BACDL_ALL)
/* Function pointers - point to your datalink */
bool(*datalink_init) (char *ifname);
@@ -58,37 +60,38 @@ void (
*datalink_get_my_address) (
BACNET_ADDRESS * my_address);
void datalink_configure(
void)
void datalink_set(
char *datalink_string)
{
#if defined(BACDL_ETHERNET)
datalink_init = ethernet_init;
datalink_send_pdu = ethernet_send_pdu;
datalink_receive = ethernet_receive;
datalink_cleanup = ethernet_cleanup;
datalink_get_broadcast_address = ethernet_get_broadcast_address;
datalink_get_my_address = ethernet_get_my_address;
#elif defined(BACDL_ARCNET)
datalink_init = arcnet_init;
datalink_send_pdu = arcnet_send_pdu;
datalink_receive = arcnet_receive;
datalink_cleanup = arcnet_cleanup;
datalink_get_broadcast_address = arcnet_get_broadcast_address;
datalink_get_my_address = arcnet_get_my_address;
#elif defined(BACDL_MSTP)
datalink_init = dlmstp_init;
datalink_send_pdu = dlmstp_send_pdu;
datalink_receive = dlmstp_receive;
datalink_cleanup = dlmstp_cleanup;
datalink_get_broadcast_address = dlmstp_get_broadcast_address;
datalink_get_my_address = dlmstp_get_my_address;
#elif defined(BACDL_BIP)
datalink_init = bip_init;
datalink_send_pdu = bip_send_pdu;
datalink_receive = bip_receive;
datalink_cleanup = bip_cleanup;
datalink_get_broadcast_address = bip_get_broadcast_address;
datalink_get_my_address = bip_get_my_address;
if (strcasecmp("bip",datalink_string) == 0) {
datalink_init = bip_init;
datalink_send_pdu = bip_send_pdu;
datalink_receive = bip_receive;
datalink_cleanup = bip_cleanup;
datalink_get_broadcast_address = bip_get_broadcast_address;
datalink_get_my_address = bip_get_my_address;
} else if (strcasecmp("ethernet",datalink_string) == 0) {
datalink_init = ethernet_init;
datalink_send_pdu = ethernet_send_pdu;
datalink_receive = ethernet_receive;
datalink_cleanup = ethernet_cleanup;
datalink_get_broadcast_address = ethernet_get_broadcast_address;
datalink_get_my_address = ethernet_get_my_address;
} else if (strcasecmp("arcnet",datalink_string) == 0) {
datalink_init = arcnet_init;
datalink_send_pdu = arcnet_send_pdu;
datalink_receive = arcnet_receive;
datalink_cleanup = arcnet_cleanup;
datalink_get_broadcast_address = arcnet_get_broadcast_address;
datalink_get_my_address = arcnet_get_my_address;
} else if (strcasecmp("mstp",datalink_string) == 0) {
datalink_init = dlmstp_init;
datalink_send_pdu = dlmstp_send_pdu;
datalink_receive = dlmstp_receive;
datalink_cleanup = dlmstp_cleanup;
datalink_get_broadcast_address = dlmstp_get_broadcast_address;
datalink_get_my_address = dlmstp_get_my_address;
}
}
#endif
}
}