1 #ifndef bkwrite_h
2 #define bkwrite_h
3 
4 int bootInfoTableChecksum(int oldImage, FileToWrite* file, unsigned* checksum);
5 int countDirsOnLevel(const DirToWrite* dir, int targetLevel, int thisLevel);
6 int countTreeHeight(const DirToWrite* dir, int heightSoFar);
7 unsigned short elToritoChecksum(const unsigned char* record);
8 int writeByteBlock(VolInfo* volInfo, unsigned char byteToWrite, int numBytes);
9 int writeByteBlockFromFile(int src, VolInfo* volInfo, unsigned numBytes);
10 int writeDir(VolInfo* volInfo, DirToWrite* dir, int parentLbNum,
11              int parentNumBytes, int parentPosix, time_t recordingTime,
12              int filenameTypes, bool isRoot);
13 int writeDr(VolInfo* volInfo, BaseToWrite* dir, time_t recordingTime, bool isADir,
14             bool isSelfOrParent, bool isFirstRecord, int filenameTypes);
15 int writeElToritoBootCatalog(VolInfo* volInfo,
16                              bk_off_t* bootRecordSectorNumberOffset);
17 int writeElToritoVd(VolInfo* volInfo, bk_off_t* bootCatalogSectorNumberOffset);
18 int writeFileContents(VolInfo* volInfo, DirToWrite* dir, int filenameTypes);
19 int writeJolietStringField(VolInfo* volInfo, const char* name, size_t fieldSize);
20 int writeLongNM(VolInfo* volInfo, BaseToWrite* dir);
21 int writeLongNMsInDir(VolInfo* volInfo, DirToWrite* dir);
22 int writePathTable(VolInfo* volInfo, const DirToWrite* tree, bool isTypeL,
23                    int filenameType);
24 int writePathTableRecordsOnLevel(VolInfo* volInfo, const DirToWrite* dir,
25                                  bool isTypeL, int filenameType,
26                                  int targetLevel, int thisLevel,
27                                  int* parentDirNum);
28 int writeRockER(VolInfo* volInfo);
29 int writeRockNM(VolInfo* volInfo, char* name, size_t nameLen, bool doesContinue);
30 int writeRockPX(VolInfo* volInfo, unsigned posixFileMode, bool isADir);
31 int writeRockSL(VolInfo* volInfo, SymLinkToWrite* symlink, bool doWrite);
32 int writeRockSP(VolInfo* volInfo);
33 int writeVdsetTerminator(VolInfo* volInfo);
34 int writeVolDescriptor(VolInfo* volInfo, bk_off_t rootDrLocation,
35                        unsigned rootDrSize, bk_off_t lPathTableLoc,
36                        bk_off_t mPathTableLoc, unsigned pathTableSize,
37                        time_t creationTime, bool isPrimary);
38 int wroteIsolinuxBootRecord(VolInfo* volInfo, FileToWrite* file,
39                             bool* isIsolinux);
40 
41 #endif
42