Path: blob/master/drivers/isdn/hardware/eicon/dqueue.h
15115 views
/* $Id: dqueue.h,v 1.1.2.2 2001/02/08 12:25:43 armin Exp $ */12#ifndef _DIVA_USER_MODE_IDI_DATA_QUEUE_H__3#define _DIVA_USER_MODE_IDI_DATA_QUEUE_H__45#define DIVA_UM_IDI_MAX_MSGS 6467typedef struct _diva_um_idi_data_queue {8int segments;9int max_length;10int read;11int write;12int count;13int segment_pending;14void *data[DIVA_UM_IDI_MAX_MSGS];15int length[DIVA_UM_IDI_MAX_MSGS];16} diva_um_idi_data_queue_t;1718int diva_data_q_init(diva_um_idi_data_queue_t * q,19int max_length, int max_segments);20int diva_data_q_finit(diva_um_idi_data_queue_t * q);21int diva_data_q_get_max_length(const diva_um_idi_data_queue_t * q);22void *diva_data_q_get_segment4write(diva_um_idi_data_queue_t * q);23void diva_data_q_ack_segment4write(diva_um_idi_data_queue_t * q,24int length);25const void *diva_data_q_get_segment4read(const diva_um_idi_data_queue_t *26q);27int diva_data_q_get_segment_length(const diva_um_idi_data_queue_t * q);28void diva_data_q_ack_segment4read(diva_um_idi_data_queue_t * q);2930#endif313233