modelib.h revision 7c2fbfb345896881c631598ee3852ce9ce33fb07
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed/***********************************************************************
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed* *
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed* This software is part of the ast package *
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed* Copyright (c) 1985-2008 AT&T Intellectual Property *
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed* and is licensed under the *
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed* Common Public License, Version 1.0 *
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed* by AT&T Intellectual Property *
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed* *
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed* A copy of the License is available at *
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed* http://www.opensource.org/licenses/cpl1.0.txt *
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed* (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) *
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed* *
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed* Information and Software Systems Research *
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed* AT&T Research *
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed* Florham Park NJ *
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed* *
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed* Glenn Fowler <gsf@research.att.com> *
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed* David Korn <dgk@research.att.com> *
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed* Phong Vo <kpv@research.att.com> *
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed* *
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed***********************************************************************/
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed#pragma prototyped
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed/*
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed * Glenn Fowler
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed * AT&T Research
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed *
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed * mode_t common definitions
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed */
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed#ifndef _MODELIB_H
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed#define _MODELIB_H
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed#include <ast.h>
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed#include <ls.h>
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed#include <modex.h>
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed#define MODELEN 10
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed#define PERMLEN 24
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed#define modetab _mode_table_ /* data hiding */
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed#define permmap _mode_permmap_ /* data hiding */
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reedstruct modeop /* ops for each char in mode string */
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed{
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed int mask1; /* first mask */
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed int shift1; /* first shift count */
0a0e9771ca0211c15f3ac4466b661c145feeb9e4Darren Reed int mask2; /* second mask */
int shift2; /* second shift count */
char* name; /* mode char using mask/shift as index */
};
extern struct modeop modetab[];
extern int permmap[];
#endif