Открытые статические члены | Открытые атрибуты

Класс nitro::TARFileHeader

Заголовок файла. Подробнее...

#include <system/tar_abstraction.h>

Полный список членов класса

Открытые статические члены

static std::size_t GetCheckSum (const TARFileHeader &Header)
static void SetCheckSum (TARFileHeader &Header)

Открытые атрибуты

char FileName [100]
char FileMode [8]
char OwnerId [8]
char GroupId [8]
char FileSize [12]
char LastModificationTime [12]
char CheckSum [8]
char LinkType
char LinkedFileName [100]
char Format [6]
char Version [2]
char OwnerUserName [32]
char OwnerGroupName [32]
char DevMajor [8]
char DevMinor [8]
char Appendix [167]

Подробное описание

Заголовок файла.

Автор:
Додонов А.А.

См. определение в файле tar_abstraction.h строка 46


Методы

std::size_t nitro::TARFileHeader::GetCheckSum ( const TARFileHeader Header  )  [static]

Вычисление контрольной суммы.

Аргументы:
Header - Заголовок, для которого вычисляется контрольная суммы.
Возвращает:
Значение контрольной суммы.
Исключения:
nitro::exception - Кидается исключение этого типа с описанием ошибки.
Автор:
Додонов А.А.

См. определение в файле tar_abstraction.cpp строка 8

Перекрестные ссылки CheckSum, nitro::exception::code() и nitro::exception::what().

Используется в SetCheckSum().

        {
                try
                {
                        TARFileHeader   LocalHeader;
                        memcpy( ( void * ) & LocalHeader , ( void * ) & Header , sizeof( TARFileHeader ) );
                        memset( LocalHeader.CheckSum , ' ' , 8 );

                        std::size_t             CheckSum( 0 );
                        for( std::size_t i( 0 ) ; i < sizeof( TARFileHeader ) ; i++ )
                        {
                                CheckSum += ( ( unsigned char * ) & LocalHeader )[ i ];
                        }

                        return( CheckSum );
                }
                catch( nitro::exception e )
                {
                        throw( nitro::exception( std::string( "TARFileHeader::GetCheckSum( const TARFileHeader & Header )::" ) + e.what() , e.code() ) );
                }
                catch( ... )
                {
                        throw( nitro::exception( std::string( "TARFileHeader::GetCheckSum( const TARFileHeader & Header )::An error occured while opening file" ) , 1 ) );
                }
        }

Граф вызовов:

void nitro::TARFileHeader::SetCheckSum ( TARFileHeader Header  )  [static]

Вычисление контрольной суммы.

Аргументы:
Header - Заголовок, для которого устанавливается контрольная суммы.
Исключения:
nitro::exception - Кидается исключение этого типа с описанием ошибки.
Автор:
Додонов А.А.

См. определение в файле tar_abstraction.cpp строка 34

Перекрестные ссылки CheckSum, nitro::exception::code(), GetCheckSum() и nitro::exception::what().

        {
                try
                {
                        std::size_t                     CheckSum( GetCheckSum( Header ) );

                        memset( Header.CheckSum , 0 , 8 );

                        sprintf( Header.CheckSum , "%08o" , CheckSum );
                }
                catch( nitro::exception e )
                {
                        throw( nitro::exception( std::string( "TARFileHeader::SetCheckSum( TARFileHeader & Header )::" ) + e.what() , e.code() ) );
                }
                catch( ... )
                {
                        throw( nitro::exception( std::string( "TARFileHeader::SetCheckSum( TARFileHeader & Header )::An error occured while opening file" ) , 1 ) );
                }
        }

Граф вызовов:


Данные класса

См. определение в файле tar_abstraction.h строка 63

См. определение в файле tar_abstraction.h строка 54

Используется в GetCheckSum() и SetCheckSum().

См. определение в файле tar_abstraction.h строка 61

См. определение в файле tar_abstraction.h строка 62

См. определение в файле tar_abstraction.h строка 49

См. определение в файле tar_abstraction.h строка 48

Используется в nitro::UnTARAbstraction::ExtractFile() и nitro::UnTARAbstraction::GetCountOfFiles().

См. определение в файле tar_abstraction.h строка 52

Используется в nitro::UnTARAbstraction::ExtractFile(), nitro::UnTARAbstraction::GetCountOfFiles() и nitro::UnTARAbstraction::SetReadCursor().

См. определение в файле tar_abstraction.h строка 57

См. определение в файле tar_abstraction.h строка 51

См. определение в файле tar_abstraction.h строка 53

См. определение в файле tar_abstraction.h строка 56

См. определение в файле tar_abstraction.h строка 55

Используется в nitro::UnTARAbstraction::ExtractFile().

См. определение в файле tar_abstraction.h строка 60

См. определение в файле tar_abstraction.h строка 50

См. определение в файле tar_abstraction.h строка 59

См. определение в файле tar_abstraction.h строка 58


Объявления и описания членов классов находятся в файлах:

Generated by  doxygen 1.6.1