tekstatfile.h

00001 /***************************************************************************
00002  *   Copyright (C) 2005 by Kevin McBride                                   *
00003  *   kevin@planetsaphire.com                                               *
00004  *                                                                         *
00005  *   This program is free software; you can redistribute it and/or modify  *
00006  *   it under the terms of the GNU Library General Public License as       *
00007  *   published by the Free Software Foundation; either version 2 of the    *
00008  *   License, or (at your option) any later version.                       *
00009  *                                                                         *
00010  *   This program is distributed in the hope that it will be useful,       *
00011  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00012  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
00013  *   GNU General Public License for more details.                          *
00014  *                                                                         *
00015  *   You should have received a copy of the GNU Library General Public     *
00016  *   License along with this program; if not, write to the                 *
00017  *   Free Software Foundation, Inc.,                                       *
00018  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
00019  ***************************************************************************/
00020 
00021 
00022 #ifndef TEKSTATFILE_H_E369BDA_3789_11DA_8436_000BDBC434D9
00023 #define TEKSTATFILE_H_E369BDA_3789_11DA_8436_000BDBC434D9
00024 
00025 #ifndef     TEKLTI_H_C35A2A4C_D475_11D9_90BC_000BDBC434D9
00026 #error      This file must be included from <teklti.h>
00027 #endif      /* TEKLTI_H_C35A2A4C_D475_11D9_90BC_000BDBC434D9 */
00028 
00029 
00030 TEKUUIDIMPORT(UTekStatFile)
00031 
00032 
00033 
00034 
00044 class TekStatFile : public TekStd
00045 {
00046 public:
00047   TekStatFile();
00048   ~TekStatFile();
00049 
00050   TEKSTD_PUREVIRTUAL_FUNC_V1
00051 
00052   virtual TEKERR put_Filename(const uchar_t * Filename) = 0;
00053   virtual TEKERR put_FILE(FILE * FileDescriptor) = 0;
00054   virtual TEKERR put_UserInfoToAccess(uuid_t * UUIDOfUserInfo) = 0;
00055 
00056   virtual TEKERR MakeTekFile(TekFileType TekType, TekFile ** RetVal) = 0;
00057 
00058   virtual TEKERR get_Dev(dev_t * Dev) = 0;
00059   virtual TEKERR get_DevNo(dev_t * DevNo) = 0;
00060   virtual TEKERR get_FileSerialNo(ino_t * SerialNo) = 0;
00061   virtual TEKERR get_Mode(mode_t * FileMode) = 0;
00062   virtual TEKERR get_ModeString(uchar_t ** FileModeString) = 0;
00063   virtual TEKERR put_Mode(mode_t NewFileMode) = 0;
00064   virtual TEKERR put_ModeString(const uchar_t * NewFileModeString) = 0;
00065   virtual TEKERR get_LinkCount(nlink_t * LinkCount) = 0;
00066   virtual TEKERR get_UID(uid_t * UID) = 0;
00067   virtual TEKERR put_UID(uid_t UID) = 0;
00068   virtual TEKERR get_GID(gid_t * GID) = 0;
00069   virtual TEKERR put_GID(gid_t GID) = 0;
00070   virtual TEKERR get_UIDString(uchar_t ** UIDString) = 0;
00071   virtual TEKERR put_UIDString(const uchar_t * UIDString) = 0;
00072   virtual TEKERR get_GIDString(uchar_t ** GIDString) = 0;
00073   virtual TEKERR put_GIDString(const uchar_t * GIDString) = 0;
00074   virtual TEKERR get_Size(unsigned long * FileSize) = 0;
00075   virtual TEKERR get_Size64(uint64_t * FileSize) = 0;
00076   virtual TEKERR get_BlockSize(blksize_t * FileBlockSize) = 0;
00077   virtual TEKERR get_BlockCount(blkcnt64_t * FileBlockCount) = 0;
00078   virtual TEKERR get_TimeOfLastAccessRaw(unsigned long ** RetVal) = 0;
00079   virtual TEKERR get_TimeOfLastModificationRaw(unsigned long ** RetVal) = 0;
00080   virtual TEKERR get_TimeOfLastStatChangeRaw(unsigned long ** RetVal) = 0;
00081   virtual TEKERR get_TimeOfLastAccess(uchar_t ** RetVal) = 0;
00082   virtual TEKERR get_TimeOfLastModification(uchar_t ** RetVal) = 0;
00083   virtual TEKERR get_TimeOfLastStatChange(uchar_t ** RetVal) = 0;
00084   //virtual TEKERR 
00085 };
00086 
00087 #endif /* TEKSTATFILE_H_E369BDA_3789_11DA_8436_000BDBC434D9 */
SourceForge.net Logo  Technical Library Template Interface Project Page