tw.h revision 3f54fd611f536639ec30dd53c48e5ec1897cc7d9
/***********************************************************************
* *
* This software is part of the ast package *
* Copyright (c) 1989-2011 AT&T Intellectual Property *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
* *
* A copy of the License is available at *
* (with md5 checksum b35adb5213ca9657e911e9befb180842) *
* *
* Information and Software Systems Research *
* AT&T Research *
* Florham Park NJ *
* *
* Glenn Fowler <gsf@research.att.com> *
* *
***********************************************************************/
#pragma prototyped
/*
* Glenn Fowler
* AT&T Research
*
* tw common definitions
*/
#include <ast.h>
#include <expr.h>
#include <ls.h>
#include <find.h>
#include <fs3d.h>
#include <ftwalk.h>
#include <magic.h>
#include <error.h>
#include <debug.h>
#include "cmdarg.h"
#include "ftwlocal.h"
#define ignorecase fts_number
#define ACT_CMDARG 1
#define ACT_CODE 2
#define ACT_CODETYPE 3
#define ACT_EVAL 4
#define ACT_INTERMEDIATE 5
#define ACT_LIST 6
#define ACT_SNAPSHOT 7
#define CMD_IMPLICIT (CMD_USER<<0)
#define T_type 64
#define F_args 1
#define F_atime 2
#define F_blocks 3
#define F_blksize 4
#define F_checksum 5
#define F_ctime 6
#define F_dev 7
#define F_fstype 8
#define F_gid 9
#define F_gidok 10
#define F_info 11
#define F_ino 12
#define F_level 13
#define F_local 14
#define F_mode 15
#define F_magic 16
#define F_md5sum 17
#define F_mime 18
#define F_mtime 19
#define F_name 20
#define F_nlink 21
#define F_parent 22
#define F_perm 23
#define F_path 24
#define F_rdev 25
#define F_size 26
#define F_status 27
#define F_symlink 28
#define F_type 29
#define F_uid 30
#define F_uidok 31
#define F_url 32
#define F_view 33
#define F_visit 34
#define C_AGAIN 35
#define C_BLK 36
#define C_C 37
#define C_CHR 38
#define C_CTG 39
#define C_D 40
#define C_DC 41
#define C_DIR 42
#define C_DNR 43
#define C_DNX 44
#define C_DOOR 45
#define C_DP 46
#define C_FIFO 47
#define C_FMT 48
#define C_FOLLOW 49
#define C_LNK 50
#define C_NOPOST 51
#define C_NR 52
#define C_NS 53
#define C_NX 54
#define C_REG 55
#define C_SOCK 56
#define C_SKIP 57
#define X_cmdarg 58
#define X_cmdflush 59
#define X_sum 60
#define M_MEMBER 61
typedef struct /* unique file identifier */
{
} Fileid_t;
typedef struct /* Fileid_t visit */
{
} Visit_t;
typedef struct Local_s /* local struct */
{
} Local_t;
typedef struct Snapshot_s /* snapshot state */
{
char* prev; /* previous snapshot record */
struct
{
char* path; /* path format */
char* easy; /* easy format */
char* hard; /* hard format */
int delim; /* format delimiter char */
} format;
} Snapshot_t;
typedef struct /* program state */
{
int act; /* leaf node ACT_* */
int actII; /* real action for intermediate */
int args; /* command arg count */
int cmdflags; /* cmdopen() flags */
int compiled; /* excomp() complete */
int errexit; /* exit tw when cmd exit > this */
int errors; /* error count */
int finderror; /* fast find generation error */
int ftwflags; /* tree walk flags */
int icase; /* ignore case in sort */
int ignore; /* ignore cmd and dir errors */
int info; /* ftw.info checked by user */
int intermediate; /* generate intermediate dirs */
int localfs; /* restrict to local fs mounts */
int localmem; /* ftw.local member count */
char* pattern; /* fast find pattern */
int reverse; /* reverse sort sense */
int separator; /* xargs list separator */
int visitmem; /* visit member count */
} State_t;
extern void compile(char*, int);