File: util.h

package info (click to toggle)
xzx 2.9.0-1
  • links: PTS
  • area: non-free
  • in suites: potato
  • size: 1,644 kB
  • ctags: 2,195
  • sloc: ansic: 25,375; sh: 1,937; yacc: 714; makefile: 197; lex: 107
file content (78 lines) | stat: -rw-r--r-- 3,026 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/********************************************************************************
* Copyright (c) Des Herriott 1993, 1994
*               Erik Kunze   1995 - 1999
*
* Permission to use, distribute, and sell this software and its documentation
* for any purpose is hereby granted without fee, provided that the above
* copyright notice appear in all copies and that both that copyright notice and
* this permission notice appear in supporting documentation, and that the name
* of the copyright holder not be used in advertising or publicity pertaining to
* distribution of the software without specific, written prior permission.  The
* copyright holder makes no representations about the suitability of this
* software for any purpose.  It is provided "as is" without express or implied
* warranty. THE CODE MAY NOT BE MODIFIED OR REUSED WITHOUT PERMISSION!
*
* THE COPYRIGHT HOLDER DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
* EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY SPECIAL, INDIRECT OR
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*
* Authors: Des Herriott
*          Erik Kunze
*
* $Id: util.h,v 4.15 1999/03/29 10:35:26 erik Rel $
*******************************************************************************/
#ifndef _XZX_UTIL_H
#define _XZX_UTIL_H
#include <sys/types.h>
#include <stdio.h>
enum { M_INFO, M_WARN, M_PWARN, M_ERR, M_PERR, M_FATAL, M_DEBUG };
enum { FD_UNKNOWN, FD_TTY, FD_FILE, FD_PIPE };
enum {
FT_SNA, FT_Z80, FT_SLT,
FT_TAP, FT_VOC, FT_TZX,
FT_DAT,
FT_DSK, FT_TRD, FT_FDI,
FT_SCL, FT_MGT, FT_IMG,
FT_MDR,
FT_SCR, FT_POK,
FT_UNKNOWN,
FT_ANY, FT_END = -1
};
typedef struct _llist {
struct _llist *next;
void *item;
} Llist;
extern FILE *Fopen(char *, const char *);
extern void *Malloc(size_t, const char *);
extern char *Strdup(const char *, const char *);
extern void *Mmap(char *, int, int *, size_t *);
extern void Munmap(void *, size_t);
extern void OnQuit(void (*)(void));
extern void Quit(int);
#ifdef nec_ews
extern void Msg();
#else
extern void Msg(int, ...);
#endif
extern void IntFrequency(int);
extern int ClassifyDescriptor(int);
extern void SetBlocking(int, int);
extern const char *GetBaseName(char *);
extern int GetFileType(char *);
#ifndef HAVE_STRCASECMP
extern int strcasecmp(const char *, const char *);
extern int strncasecmp(const char *, const char *, int);
#endif
extern const char *FtExt[FT_UNKNOWN];
extern void DestroyList(Llist *, void (*)(void *));
extern Llist *AppendElemList(Llist *, void *);
extern Llist *PrependElemList(Llist *, void *);
extern Llist *RemoveElemList(void *, int (*)(void *, void *), Llist *,
void (*)(void *));
extern Llist *SortedInsertList(void *, int (*)(void *, void *), Llist *);
extern void *RetrieveElemList(Llist *, unsigned int);
#endif