/*
 * Do not edit by hand.
 * Automatically generated by fistgen.
 */
#ifndef _fist_sappy_h
#define _fist_sappy_h

/* OPTIONAL DECLARATIONS FOLLOW */

           // Authors: Sapna Todwal-Faraz Shaikh  
	   // C Declaration
           // U-K Protocol Command Operations

#define CREATE_INODE 1
#define DELETE_INODE 2
#define INSERT_ATTRIB 3
#define INSERT_XATTRIB 4
#define DELETE_XATTRIB 5
#define CHANGE_NAME 6
#define SYNC 7
#define NACK 0
#define KILL -1
 
	// U-K the Command Structure
struct cmd {
        int req_id;
	int oper;
	long inode_no;
	int attrname_len;
	int attrval_len;
	}; 
static int curr_request_id = 1;      
        
#define ADDBUF(buffer,data,len)	do { memcpy(buffer,data,len);printk("\nDONE");buff += len; } while(0)
       
	// Note > Sapna -> Initialize semaphore
        // ***********in init module of main.c
        // FRZ -> FIXME wont work on some Machines
        
//	DECLARE_WAIT_QUEUE_HEAD(ofs_wait_queue);
	int thread_dead,ok_exit;
	
	
/* MACROS AND STRUCTURES BASED ON FIST FILE ./tests/sappy.fist */

/* Name of the file system? */
#define FIST_FSNAME "sappy"

/* What access mode: readonly, writeonly, or readwrite? */
/* #undef FIST_ACCESSMODE_READONLY */
/* #undef FIST_ACCESSMODE_WRITEONLY */
#define FIST_ACCESSMODE_READWRITE 1

/* Turn on debugging? */
/* #undef FIST_DEBUG */

/* Turn on dynamic_inode_numbers? */
/* #undef FIST_DYNAMIC_INODE_NUMBERS */

/* Manipulate file data? */
/* #undef FIST_FILTER_DATA */

/* Manipulate file names? */
/* #undef FIST_FILTER_NAME */

/* Size changing algorithm filter? */
/* #undef FIST_FILTER_SCA */

/* What mount style: regular, overlay, or attach? */
#define FIST_MNTSTYLE_REGULAR 1
/* #undef FIST_MNTSTYLE_OVERLAY */
/* #undef FIST_MNTSTYLE_ATTACH */

/* fan-out value */
#define FIST_FANOUT 1

/* What encoding type: none, stream, or block? */
/* #undef FIST_ENCODING_TYPE_NONE */
/* #undef FIST_ENCODING_TYPE_STREAM */
#define FIST_ENCODING_TYPE_BLOCK 1

/* encoding-blocksize VALUE */
#define FIST_ENCODING_BLOCKSIZE 1

/* Error codes? */
/* no error codes defined */

/* Mount flags? */
/* no error codes defined */

/* Mount data arguments? */
/* no mount data defined */

/* Per-VFS data? */
/* no per-VFS data defined */

/* Per-vnode data? */
/* no per-vnode data defined */

/* file formats */
/* using auxiliary sources? */
#define FIST_USE_AUX_SRC 1
struct _fist_fileformat_obj_cntr {
	int last_alloc;
};

#endif /* not _fist_sappy_h */
