vchdr.h revision 3f54fd611f536639ec30dd53c48e5ec1897cc7d9
66267bcb678a9c341272c323b299337bcfdb7cc5Christian Maeder/***********************************************************************
81d182b21020b815887e9057959228546cf61b6bChristian Maeder* *
81d182b21020b815887e9057959228546cf61b6bChristian Maeder* This software is part of the ast package *
66267bcb678a9c341272c323b299337bcfdb7cc5Christian Maeder* Copyright (c) 2003-2011 AT&T Intellectual Property *
66267bcb678a9c341272c323b299337bcfdb7cc5Christian Maeder* and is licensed under the *
3f69b6948966979163bdfe8331c38833d5d90ecdChristian Maeder* Eclipse Public License, Version 1.0 *
66267bcb678a9c341272c323b299337bcfdb7cc5Christian Maeder* by AT&T Intellectual Property *
ffd01020a4f35f434b912844ad6e0d6918fadffdChristian Maeder* *
66267bcb678a9c341272c323b299337bcfdb7cc5Christian Maeder* A copy of the License is available at *
66267bcb678a9c341272c323b299337bcfdb7cc5Christian Maeder* http://www.eclipse.org/org/documents/epl-v10.html *
fb69cd512eab767747f109e40322df7cae2f7bdfChristian Maeder* (with md5 checksum b35adb5213ca9657e911e9befb180842) *
fb69cd512eab767747f109e40322df7cae2f7bdfChristian Maeder* *
e8ffec0fa3d3061061bdc16e44247b9cf96b050fChristian Maeder* Information and Software Systems Research *
fb69cd512eab767747f109e40322df7cae2f7bdfChristian Maeder* AT&T Research *
e8ffec0fa3d3061061bdc16e44247b9cf96b050fChristian Maeder* Florham Park NJ *
e8ffec0fa3d3061061bdc16e44247b9cf96b050fChristian Maeder* *
e8ffec0fa3d3061061bdc16e44247b9cf96b050fChristian Maeder* Phong Vo <kpv@research.att.com> *
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder* *
05e2a3161e4589a717c6fe5c7306820273a473c5Christian Maeder***********************************************************************/
05e2a3161e4589a717c6fe5c7306820273a473c5Christian Maeder#ifndef _VCHDR_H
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder#define _VCHDR_H 1
5d7e4bf173534e7eb3fc84dce7bb0151079d3f8aChristian Maeder
ad270004874ce1d0697fb30d7309f180553bb315Christian Maeder#if _PACKAGE_ast
ad270004874ce1d0697fb30d7309f180553bb315Christian Maeder#include <ast.h>
e8ffec0fa3d3061061bdc16e44247b9cf96b050fChristian Maeder#endif
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder#define _VCODEX_PRIVATE \
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder Vcbuffer_t* list; /* allocated buffers */ \
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder unsigned int busy; /* total buffer size */ \
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder unsigned int nbuf; /* number of buffers */
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder#include "vcodex.h"
e7ce154edb906685b3fa7f6c0a764e18a4658068Christian Maeder
e7ce154edb906685b3fa7f6c0a764e18a4658068Christian Maeder#ifdef VMFL
e7ce154edb906685b3fa7f6c0a764e18a4658068Christian Maeder#include <vmalloc.h>
05e2a3161e4589a717c6fe5c7306820273a473c5Christian Maeder#endif
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder#include <ctype.h>
024621f43239cfe9629e35d35a8669fad7acbba2Christian Maeder#include <stdlib.h>
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder#include <string.h>
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder
36c6cc568751e4235502cfee00ba7b597dae78dcChristian Maeder#if _sys_times
36c6cc568751e4235502cfee00ba7b597dae78dcChristian Maeder#include <sys/times.h>
27912d626bf179b82fcb337077e5cd9653bb71cfChristian Maeder#endif
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder#if _hdr_unistd
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder#include <unistd.h>
5c933f3c61d2cfa7e76e4eb610a4b0bac988be47Christian Maeder#endif
5c933f3c61d2cfa7e76e4eb610a4b0bac988be47Christian Maeder#if __STD_C
5c933f3c61d2cfa7e76e4eb610a4b0bac988be47Christian Maeder#include <stdarg.h>
8c81b727b788d90ff3b8cbda7b0900c9009243bbChristian Maeder#else
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder#include <varargs.h>
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder#endif
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder
76647324ed70f33b95a881b536d883daccf9568dChristian Maeder#if !_PACKAGE_ast && _WIN32 /* to do binary I/O on Windows */
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder#include <fcntl.h>
07b1bf56f3a486f26d69514d05b73100abb25a0eChristian Maeder#include <io.h>
05e2a3161e4589a717c6fe5c7306820273a473c5Christian Maeder#ifndef _O_BINARY
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder#define _O_BINARY 0x8000
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder#endif
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder#ifndef O_BINARY
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder#define O_BINARY _O_BINARY
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder#endif
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder#endif /*!_PACKAGE_ast && _WIN32*/
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder
c438c79d00fc438f99627e612498744bdc0d0c89Christian Maeder#include <debug.h>
c438c79d00fc438f99627e612498744bdc0d0c89Christian Maeder
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder#ifndef NIL
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder#define NIL(type) ((type)0)
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder#endif
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder#ifndef reg
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder#define reg register
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder#endif
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder#ifdef isblank
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder#undef isblank
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder#endif
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder#define isblank(c) ((c) == ' ' || (c) == '\t')
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder#define TYPECAST(tp,p) ((tp)((unsigned long)(p)))
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder#define RL_ESC 255 /* default escape character */
36c6cc568751e4235502cfee00ba7b597dae78dcChristian Maeder#define RL_ZERO 254 /* (0,RL_ZERO) codes 0-runs */
36c6cc568751e4235502cfee00ba7b597dae78dcChristian Maeder#define RL_ONE 253 /* (1,RL_ONE) codes 1-runs */
36c6cc568751e4235502cfee00ba7b597dae78dcChristian Maeder
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder_BEGIN_EXTERNS_
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maederextern ssize_t _vcrle2coder _ARG_((Vcodex_t*, ssize_t,
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder Vcchar_t*, ssize_t,
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder Vcchar_t*, ssize_t,
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder Vcchar_t**, ssize_t));
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maederextern Vcmtarg_t* _vcmtarg _ARG_((Vcmtarg_t*, char*, char*, ssize_t));
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maederextern Void_t* memcpy _ARG_((Void_t*, const Void_t*, size_t));
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maederextern Void_t* malloc _ARG_((size_t));
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maederextern Void_t* realloc _ARG_((Void_t*, size_t));
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maederextern Void_t* calloc _ARG_((size_t, size_t));
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maederextern void free _ARG_((Void_t*));
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder_END_EXTERNS_
5c933f3c61d2cfa7e76e4eb610a4b0bac988be47Christian Maeder
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder#endif /*_VCHDR_H*/
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder