#define MIN_CREDITS 10
#define MAX_CREDITS 40

void rcv_cb(u_char dlci, u_char * payload, u_short len, void *arg)
{
    u_short idx;
    if (len > 0) {
        printf("\n");
        for (idx = 0; idx < len; idx++)
            printf("%c ", payload[idx]);
    }
}

void con_cb(u_char dlci, u_char type, void *arg)
{
    if (type == BT_RFCOMM_CONNECT) {
        printf("RFCOMM Connect on dlci %d...\n", dlci);
        bt_rfcomm_send_credits(dlci, MAX_CREDITS - BT_RFCOMM_DEF_CREDITS);
    } else {
        printf("RFCOMM Disconnect on dlci %d...\n", dlci);
    }
}

void line_cb(u_char dlci, u_char flags, void *arg)
{
    printf("rfcomm Line status has changed: dlci: %d, flags: %02x\n", dlci, flags);
}

void credit_cb(u_char dlci, u_char credits, void *arg)
{
    printf("rfcomm Credits running low for dlci %d. Credits remaining: %d\n", dlci, credits);
    printf("rfcomm Send new credits: %d\n", MAX_CREDITS - credits);
    bt_rfcomm_send_credits(dlci, MAX_CREDITS - credits);
}
!!! Dieses Dokument stammt aus dem ETH Web-Archiv und wird nicht mehr gepflegt !!!
!!! This document is stored in the ETH Web archive and is no longer maintained !!!