Lines Matching defs:buffer

192 uint32_t Ptable::CalculateCrc32(const uint8_t *buffer, const uint32_t len)
194 if (buffer == nullptr || len == 0) {
205 uint32_t dataByte = buffer[i];
224 bool Ptable::VerifyMbrMagicNum(const uint8_t *buffer, const uint32_t size)
226 // avoid checking past end of buffer
232 if ((buffer[MBR_MAGIC_NUM_POS] != MBR_MAGIC_NUM_0) ||
233 (buffer[MBR_MAGIC_NUM_POS + 1] != MBR_MAGIC_NUM_1)) {
234 LOG(ERROR) << "MBR magic number does not match, magic buffer is " << unsigned(*(buffer + MBR_MAGIC_NUM_POS));
309 bool Ptable::GetPartitionGptHeaderInfo(const uint8_t *buffer, const uint32_t bufferLen, GPTHeaderInfo& gptHeaderInfo)
311 if (buffer == nullptr || bufferLen < LBA_LENGTH) {
317 if (!CheckIfValidGpt(buffer, bufferLen)) {
321 gptHeaderInfo.headerSize = GET_LWORD_FROM_BYTE(buffer + HEADER_SIZE_OFFSET);
322 gptHeaderInfo.firstUsableLba = GET_LLWORD_FROM_BYTE(buffer + FIRST_USABLE_LBA_OFFSET);
323 gptHeaderInfo.maxPartitionCount = GET_LWORD_FROM_BYTE(buffer + PARTITION_COUNT_OFFSET);
324 gptHeaderInfo.partitionEntrySize = GET_LWORD_FROM_BYTE(buffer + PENTRY_SIZE_OFFSET);
351 bool Ptable::CheckGptHeader(uint8_t *buffer, const uint32_t bufferLen, const uint64_t lbaNum,
363 uint32_t orgCrcVal = GET_LWORD_FROM_BYTE(buffer + HEADER_CRC_OFFSET);
365 PUT_LONG(buffer + HEADER_CRC_OFFSET, 0);
366 uint32_t crcVal = CalculateCrc32(buffer, gptHeaderInfo.headerSize);
372 PUT_LONG(buffer + HEADER_CRC_OFFSET, crcVal);
374 uint32_t currentLba = GET_LLWORD_FROM_BYTE(buffer + PRIMARY_HEADER_OFFSET);
375 uint32_t lastUsableLba = GET_LLWORD_FROM_BYTE(buffer + LAST_USABLE_LBA_OFFSET);
376 uint32_t partition0 = GET_LLWORD_FROM_BYTE(buffer + PARTITION_ENTRIES_OFFSET);
408 uint8_t *buffer = new(std::nothrow) uint8_t[blockSize]();
409 if (buffer == nullptr) {
410 LOG(ERROR) << "new buffer failed!";
413 if (memcpy_s(buffer, blockSize, gptImage + blockSize, blockSize) != EOK) {
415 delete [] buffer;
419 if (!CheckGptHeader(buffer, blockSize, lbaNum, gptHeaderInfo)) {
421 delete [] buffer;
425 uint32_t partition0 = GET_LLWORD_FROM_BYTE(&buffer[PARTITION_ENTRIES_OFFSET]);
426 uint32_t orgCrcVal = GET_LWORD_FROM_BYTE(&buffer[PARTITION_CRC_OFFSET]);
427 delete [] buffer;
500 const uint8_t *buffer, const uint32_t size)
507 bool ret = writer->Write(buffer, size, nullptr);