forked from 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.
87 lines
2.9 KiB
87 lines
2.9 KiB
/********************************************************************* |
|
* |
|
* Filename: af_irda.h |
|
* Version: 1.0 |
|
* Description: IrDA sockets declarations |
|
* Status: Stable |
|
* Author: Dag Brattli <[email protected]> |
|
* Created at: Tue Dec 9 21:13:12 1997 |
|
* Modified at: Fri Jan 28 13:16:32 2000 |
|
* Modified by: Dag Brattli <[email protected]> |
|
* |
|
* Copyright (c) 1998-2000 Dag Brattli, 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 AF_IRDA_H |
|
#define AF_IRDA_H |
|
|
|
#include <linux/irda.h> |
|
#include <net/irda/irda.h> |
|
#include <net/irda/iriap.h> /* struct iriap_cb */ |
|
#include <net/irda/irias_object.h> /* struct ias_value */ |
|
#include <net/irda/irlmp.h> /* struct lsap_cb */ |
|
#include <net/irda/irttp.h> /* struct tsap_cb */ |
|
#include <net/irda/discovery.h> /* struct discovery_t */ |
|
#include <net/sock.h> |
|
|
|
/* IrDA Socket */ |
|
struct irda_sock { |
|
/* struct sock has to be the first member of irda_sock */ |
|
struct sock sk; |
|
__u32 saddr; /* my local address */ |
|
__u32 daddr; /* peer address */ |
|
|
|
struct lsap_cb *lsap; /* LSAP used by Ultra */ |
|
__u8 pid; /* Protocol IP (PID) used by Ultra */ |
|
|
|
struct tsap_cb *tsap; /* TSAP used by this connection */ |
|
__u8 dtsap_sel; /* remote TSAP address */ |
|
__u8 stsap_sel; /* local TSAP address */ |
|
|
|
__u32 max_sdu_size_rx; |
|
__u32 max_sdu_size_tx; |
|
__u32 max_data_size; |
|
__u8 max_header_size; |
|
struct qos_info qos_tx; |
|
|
|
__u16_host_order mask; /* Hint bits mask */ |
|
__u16_host_order hints; /* Hint bits */ |
|
|
|
void *ckey; /* IrLMP client handle */ |
|
void *skey; /* IrLMP service handle */ |
|
|
|
struct ias_object *ias_obj; /* Our service name + lsap in IAS */ |
|
struct iriap_cb *iriap; /* Used to query remote IAS */ |
|
struct ias_value *ias_result; /* Result of remote IAS query */ |
|
|
|
hashbin_t *cachelog; /* Result of discovery query */ |
|
__u32 cachedaddr; /* Result of selective discovery query */ |
|
|
|
int nslots; /* Number of slots to use for discovery */ |
|
|
|
int errno; /* status of the IAS query */ |
|
|
|
wait_queue_head_t query_wait; /* Wait for the answer to a query */ |
|
struct timer_list watchdog; /* Timeout for discovery */ |
|
|
|
LOCAL_FLOW tx_flow; |
|
LOCAL_FLOW rx_flow; |
|
}; |
|
|
|
static inline struct irda_sock *irda_sk(struct sock *sk) |
|
{ |
|
return (struct irda_sock *)sk; |
|
} |
|
|
|
#endif /* AF_IRDA_H */
|
|
|