1
0
Files
irix-657m-src/eoe/include/search.h
2022-09-29 17:59:04 +03:00

85 lines
2.6 KiB
C

#ifndef __SEARCH_H__
#define __SEARCH_H__
#ifdef __cplusplus
extern "C" {
#endif
#ident "$Revision: 1.21 $"
/*
*
* Copyright 1992, Silicon Graphics, Inc.
* All Rights Reserved.
*
* This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
* the contents of this file may not be disclosed to third parties, copied or
* duplicated in any form, in whole or in part, without the prior written
* permission of Silicon Graphics, Inc.
*
* RESTRICTED RIGHTS LEGEND:
* Use, duplication or disclosure by the Government is subject to restrictions
* as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
* and Computer Software clause at DFARS 252.227-7013, and/or in similar or
* successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
* rights reserved under the Copyright Laws of the United States.
*/
/* Copyright (c) 1990, 1991 UNIX System Laboratories, Inc. */
/* Copyright (c) 1988 AT&T */
/* All Rights Reserved */
/* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF */
/* UNIX System Laboratories, Inc. */
/* The copyright notice above does not evidence any */
/* actual or intended publication of such source code. */
#include <standards.h>
#if !defined(_SIZE_T) && !defined(_SIZE_T_)
#define _SIZE_T
#if (_MIPS_SZLONG == 32)
typedef unsigned int size_t;
#endif
#if (_MIPS_SZLONG == 64)
typedef unsigned long size_t;
#endif
#endif
typedef enum { FIND, ENTER } ACTION;
typedef enum { preorder, postorder, endorder, leaf } VISIT;
typedef struct entry { char *key; void *data; } ENTRY;
extern int hcreate(size_t);
extern void hdestroy(void);
extern ENTRY *hsearch(ENTRY, ACTION);
extern void *tdelete(const void *, void **,
int (*)(const void *, const void *));
extern void *tfind(const void *, void *const *,
int (*)(const void *, const void *));
extern void *tsearch(const void *, void **,
int (*)(const void *, const void *));
extern void twalk(const void *, void (*)(const void *, VISIT, int)) ;
extern void *lfind(const void *, const void *, size_t *, size_t,
int (*)(const void *, const void *));
extern void *lsearch(const void *, void *, size_t *, size_t,
int (*)(const void *, const void *));
#if _SGIAPI
struct qelem {
struct qelem *q_forw;
struct qelem *q_back;
};
void insque(struct qelem *, struct qelem *);
void remque(struct qelem *);
void *bsearch(const void *, const void *, size_t, size_t,
int (*)(const void *, const void *));
#endif /* _SGIAPI */
#if (!_SGIAPI && _XOPEN4UX)
void insque(void *, void *);
void remque(void *);
#endif /* (!_SGIAPI && _XOPEN4UX) */
#ifdef __cplusplus
}
#endif
#endif /* !__SEARCH_H__ */