pptp-linux/vector.h

32 lines
1.0 KiB
C

/* vector.h ..... store a vector of PPTP_CALL information and search it
* efficiently.
* C. Scott Ananian <cananian@alumni.princeton.edu>
*
* $Id: vector.h,v 1.2 2011/12/19 07:15:03 quozl Exp $
*/
#ifndef INC_VECTOR_H
#define INC_VECTOR_H
#include "pptp_ctrl.h" /* for definition of PPTP_CALL */
typedef struct vector_struct VECTOR;
VECTOR *vector_create(void);
void vector_destroy(VECTOR *v);
int vector_size(VECTOR *v);
/* vector_insert and vector_search return TRUE on success, FALSE on failure. */
int vector_insert(VECTOR *v, int key, PPTP_CALL * call);
int vector_remove(VECTOR *v, int key);
int vector_search(VECTOR *v, int key, PPTP_CALL ** call);
/* vector_contains returns FALSE if not found, TRUE if found. */
int vector_contains(VECTOR *v, int key);
/* find first unused key. Returns TRUE on success, FALSE if no. */
int vector_scan(VECTOR *v, int lo, int hi, int *key);
/* get a specific PPTP_CALL ... useful only when iterating. */
PPTP_CALL * vector_get_Nth(VECTOR *v, int n);
#endif /* INC_VECTOR_H */