#ifndef _LINUX_K_FOPS_H
#define _LINUX_K_FOPS_H

/*
 * Kernel mode file operations wrappers header file.
 * 
 * Author	:	Ramit Bhalla
 * Created	:	18th August 2003
 *
 */

#define	SEEK_SET	0	/* Set seek absolute */
#define	SEEK_CUR	1	/* Set seek relative to current */
#define SEEK_END	2	/* Set seek negative from end of file */

/*
 * File management operations
 */
struct file * kernel_fopen(const char * filename, unsigned int flags, int mode);
int kernel_fclose(struct file * file_ptr);
loff_t kernel_fseek(struct file * file_ptr, int offset, int whence);

/*
 * File Reading operations
 */
int kernel_fread(struct file * file_ptr, char * buf, int len);
int kernel_fgetc(struct file * file_ptr);
int kernel_fgets(struct file * file_ptr, char * str, int len);

/*
 * File write operations
 */
int kernel_fwrite(struct file * file_ptr, char * buf, int len);
int kernel_fputc(struct file * file_ptr, char buf);
int kernel_fputs(struct file * file_ptr, char * str);

/*
 * File write in formatted form
 */
int kernel_fprintf(struct file * file_ptr, const char * fmt, ...);

#endif
