1N/A
1N/A/* : : generated by proto : : */
1N/A/***********************************************************************
1N/A* *
1N/A* This software is part of the ast package *
1N/A* Copyright (c) 1985-2011 AT&T Intellectual Property *
1N/A* and is licensed under the *
1N/A* Common Public License, Version 1.0 *
1N/A* by AT&T Intellectual Property *
1N/A* *
1N/A* A copy of the License is available at *
1N/A* http://www.opensource.org/licenses/cpl1.0.txt *
1N/A* (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) *
1N/A* *
1N/A* Information and Software Systems Research *
1N/A* AT&T Research *
1N/A* Florham Park NJ *
1N/A* *
1N/A* Glenn Fowler <gsf@research.att.com> *
1N/A* David Korn <dgk@research.att.com> *
1N/A* Phong Vo <kpv@research.att.com> *
1N/A* *
1N/A***********************************************************************/
1N/A
1N/A/*
1N/A * Glenn Fowler
1N/A * AT&T Research
1N/A *
1N/A * record format interface
1N/A */
1N/A
1N/A#ifndef _RECFMT_H
1N/A#if !defined(__PROTO__)
1N/A#include <prototyped.h>
1N/A#endif
1N/A#if !defined(__LINKAGE__)
1N/A#define __LINKAGE__ /* 2004-08-11 transition */
1N/A#endif
1N/A
1N/A#define _RECFMT_H 1
1N/A
1N/A#include <ast.h>
1N/A
1N/Atypedef uint32_t Recfmt_t;
1N/A
1N/A#define REC_delimited 0
1N/A#define REC_fixed 1
1N/A#define REC_variable 2
1N/A#define REC_method 14
1N/A#define REC_none 15
1N/A
1N/A#define REC_M_path 0
1N/A#define REC_M_data 1
1N/A
1N/A#define RECTYPE(f) (((f)>>28)&((1<<4)-1))
1N/A
1N/A#define REC_D_TYPE(d) ((REC_delimited<<28)|((d)&((1<<8)-1)))
1N/A#define REC_D_DELIMITER(f) ((f)&((1<<8)-1))
1N/A
1N/A#define REC_F_TYPE(s) ((REC_fixed<<28)|((s)&((1<<28)-1)))
1N/A#define REC_F_SIZE(f) ((f)&((1<<28)-1))
1N/A
1N/A#define REC_U_TYPE(t,a) (((t)<<28)|((a)&((1<<28)-1)))
1N/A#define REC_U_ATTRIBUTES(f) ((f)&~((1<<28)-1))
1N/A
1N/A#define REC_V_TYPE(h,o,z,l,i) ((REC_variable<<28)|((h)<<23)|((o)<<19)|(((z)-1)<<18)|((l)<<17)|((i)<<16))
1N/A#define REC_V_RECORD(f,s) (((f)&(((1<<16)-1)<<16))|(s))
1N/A#define REC_V_HEADER(f) (((f)>>23)&((1<<5)-1))
1N/A#define REC_V_OFFSET(f) (((f)>>19)&((1<<4)-1))
1N/A#define REC_V_LENGTH(f) ((((f)>>18)&1)+1)
1N/A#define REC_V_LITTLE(f) (((f)>>17)&1)
1N/A#define REC_V_INCLUSIVE(f) (((f)>>16)&1)
1N/A#define REC_V_SIZE(f) ((f)&((1<<16)-1))
1N/A#define REC_V_ATTRIBUTES(f) ((f)&~((1<<16)-1))
1N/A
1N/A#define REC_M_TYPE(i) ((REC_method<<28)|(i))
1N/A#define REC_M_INDEX(f) ((f)&((1<<28)-1))
1N/A
1N/A#define REC_N_TYPE() 0xffffffff
1N/A
1N/A#if _BLD_ast && defined(__EXPORT__)
1N/A#undef __MANGLE__
1N/A#define __MANGLE__ __LINKAGE__ __EXPORT__
1N/A#endif
1N/A
1N/Aextern __MANGLE__ char* fmtrec __PROTO__((Recfmt_t, int));
1N/Aextern __MANGLE__ Recfmt_t recfmt __PROTO__((const __V_*, size_t, off_t));
1N/Aextern __MANGLE__ Recfmt_t recstr __PROTO__((const char*, char**));
1N/Aextern __MANGLE__ ssize_t reclen __PROTO__((Recfmt_t, const __V_*, size_t));
1N/A
1N/A#undef __MANGLE__
1N/A#define __MANGLE__ __LINKAGE__
1N/A
1N/A#endif