mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
98 lines
2.9 KiB
98 lines
2.9 KiB
/********************************************************************* |
|
* |
|
* Filename: irlmp_event.h |
|
* Version: 0.1 |
|
* Description: IrDA-LMP event handling |
|
* Status: Experimental. |
|
* Author: Dag Brattli <[email protected]> |
|
* Created at: Mon Aug 4 20:40:53 1997 |
|
* Modified at: Thu Jul 8 12:18:54 1999 |
|
* Modified by: Dag Brattli <[email protected]> |
|
* |
|
* Copyright (c) 1997, 1999 Dag Brattli <[email protected]>, |
|
* All Rights Reserved. |
|
* Copyright (c) 2000-2002 Jean Tourrilhes <[email protected]> |
|
* |
|
* This program is free software; you can redistribute it and/or |
|
* modify it under the terms of the GNU General Public License as |
|
* published by the Free Software Foundation; either version 2 of |
|
* the License, or (at your option) any later version. |
|
* |
|
* Neither Dag Brattli nor University of Tromsø admit liability nor |
|
* provide warranty for any of this software. This material is |
|
* provided "AS-IS" and at no charge. |
|
* |
|
********************************************************************/ |
|
|
|
#ifndef IRLMP_EVENT_H |
|
#define IRLMP_EVENT_H |
|
|
|
/* A few forward declarations (to make compiler happy) */ |
|
struct irlmp_cb; |
|
struct lsap_cb; |
|
struct lap_cb; |
|
struct discovery_t; |
|
|
|
/* LAP states */ |
|
typedef enum { |
|
/* IrLAP connection control states */ |
|
LAP_STANDBY, /* No LAP connection */ |
|
LAP_U_CONNECT, /* Starting LAP connection */ |
|
LAP_ACTIVE, /* LAP connection is active */ |
|
} IRLMP_STATE; |
|
|
|
/* LSAP connection control states */ |
|
typedef enum { |
|
LSAP_DISCONNECTED, /* No LSAP connection */ |
|
LSAP_CONNECT, /* Connect indication from peer */ |
|
LSAP_CONNECT_PEND, /* Connect request from service user */ |
|
LSAP_DATA_TRANSFER_READY, /* LSAP connection established */ |
|
LSAP_SETUP, /* Trying to set up LSAP connection */ |
|
LSAP_SETUP_PEND, /* Request to start LAP connection */ |
|
} LSAP_STATE; |
|
|
|
typedef enum { |
|
/* LSAP events */ |
|
LM_CONNECT_REQUEST, |
|
LM_CONNECT_CONFIRM, |
|
LM_CONNECT_RESPONSE, |
|
LM_CONNECT_INDICATION, |
|
|
|
LM_DISCONNECT_INDICATION, |
|
LM_DISCONNECT_REQUEST, |
|
|
|
LM_DATA_REQUEST, |
|
LM_UDATA_REQUEST, |
|
LM_DATA_INDICATION, |
|
LM_UDATA_INDICATION, |
|
|
|
LM_WATCHDOG_TIMEOUT, |
|
|
|
/* IrLAP events */ |
|
LM_LAP_CONNECT_REQUEST, |
|
LM_LAP_CONNECT_INDICATION, |
|
LM_LAP_CONNECT_CONFIRM, |
|
LM_LAP_DISCONNECT_INDICATION, |
|
LM_LAP_DISCONNECT_REQUEST, |
|
LM_LAP_DISCOVERY_REQUEST, |
|
LM_LAP_DISCOVERY_CONFIRM, |
|
LM_LAP_IDLE_TIMEOUT, |
|
} IRLMP_EVENT; |
|
|
|
extern const char *const irlmp_state[]; |
|
extern const char *const irlsap_state[]; |
|
|
|
void irlmp_watchdog_timer_expired(unsigned long data); |
|
void irlmp_discovery_timer_expired(unsigned long data); |
|
void irlmp_idle_timer_expired(unsigned long data); |
|
|
|
void irlmp_do_lap_event(struct lap_cb *self, IRLMP_EVENT event, |
|
struct sk_buff *skb); |
|
int irlmp_do_lsap_event(struct lsap_cb *self, IRLMP_EVENT event, |
|
struct sk_buff *skb); |
|
|
|
#endif /* IRLMP_EVENT_H */ |
|
|
|
|
|
|
|
|
|
|