Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Functions
irqueue.h File Reference
#include <linux/types.h>
#include <linux/spinlock.h>

Go to the source code of this file.

Data Structures

struct  irda_queue
 
struct  hashbin_t
 

Macros

#define NAME_SIZE   32
 
#define HB_NOLOCK   0 /* No concurent access prevention */
 
#define HB_LOCK   1 /* Prevent concurent write with global lock */
 
#define HASHBIN_SIZE   8
 
#define HASHBIN_MASK   0x7
 
#define IRDA_ALIGN   __attribute__((aligned))
 
#define Q_NULL   { NULL, NULL, "", 0 }
 
#define HASHBIN_GET_SIZE(hashbin)   hashbin->hb_size
 

Typedefs

typedef void(* FREE_FUNC )(void *arg)
 
typedef struct irda_queue irda_queue_t
 
typedef struct hashbin_t hashbin_t
 

Functions

hashbin_thashbin_new (int type)
 
int hashbin_delete (hashbin_t *hashbin, FREE_FUNC func)
 
int hashbin_clear (hashbin_t *hashbin, FREE_FUNC free_func)
 
void hashbin_insert (hashbin_t *hashbin, irda_queue_t *entry, long hashv, const char *name)
 
voidhashbin_remove (hashbin_t *hashbin, long hashv, const char *name)
 
voidhashbin_remove_first (hashbin_t *hashbin)
 
voidhashbin_remove_this (hashbin_t *hashbin, irda_queue_t *entry)
 
voidhashbin_find (hashbin_t *hashbin, long hashv, const char *name)
 
voidhashbin_lock_find (hashbin_t *hashbin, long hashv, const char *name)
 
voidhashbin_find_next (hashbin_t *hashbin, long hashv, const char *name, void **pnext)
 
irda_queue_thashbin_get_first (hashbin_t *hashbin)
 
irda_queue_thashbin_get_next (hashbin_t *hashbin)
 

Macro Definition Documentation

#define HASHBIN_GET_SIZE (   hashbin)    hashbin->hb_size

Definition at line 94 of file irqueue.h.

#define HASHBIN_MASK   0x7

Definition at line 49 of file irqueue.h.

#define HASHBIN_SIZE   8

Definition at line 48 of file irqueue.h.

#define HB_LOCK   1 /* Prevent concurent write with global lock */

Definition at line 43 of file irqueue.h.

#define HB_NOLOCK   0 /* No concurent access prevention */

Definition at line 42 of file irqueue.h.

#define IRDA_ALIGN   __attribute__((aligned))

Definition at line 52 of file irqueue.h.

#define NAME_SIZE   32

Definition at line 36 of file irqueue.h.

#define Q_NULL   { NULL, NULL, "", 0 }

Definition at line 55 of file irqueue.h.

Typedef Documentation

typedef void(* FREE_FUNC)(void *arg)

Definition at line 57 of file irqueue.h.

Definition at line 66 of file irqueue.h.

Function Documentation

int hashbin_clear ( hashbin_t hashbin,
FREE_FUNC  free_func 
)
int hashbin_delete ( hashbin_t hashbin,
FREE_FUNC  func 
)

Definition at line 391 of file irqueue.c.

void* hashbin_find ( hashbin_t hashbin,
long  hashv,
const char name 
)

Definition at line 717 of file irqueue.c.

void* hashbin_find_next ( hashbin_t hashbin,
long  hashv,
const char name,
void **  pnext 
)

Definition at line 802 of file irqueue.c.

irda_queue_t* hashbin_get_first ( hashbin_t hashbin)

Definition at line 840 of file irqueue.c.

irda_queue_t* hashbin_get_next ( hashbin_t hashbin)

Definition at line 875 of file irqueue.c.

void hashbin_insert ( hashbin_t hashbin,
irda_queue_t entry,
long  hashv,
const char name 
)

Definition at line 449 of file irqueue.c.

void* hashbin_lock_find ( hashbin_t hashbin,
long  hashv,
const char name 
)

Definition at line 772 of file irqueue.c.

hashbin_t* hashbin_new ( int  type)

Definition at line 353 of file irqueue.c.

void* hashbin_remove ( hashbin_t hashbin,
long  hashv,
const char name 
)

Definition at line 562 of file irqueue.c.

void* hashbin_remove_first ( hashbin_t hashbin)

Definition at line 502 of file irqueue.c.

void* hashbin_remove_this ( hashbin_t hashbin,
irda_queue_t entry 
)

Definition at line 655 of file irqueue.c.