5 Star 2 Fork 20

OpenHarmony/third_party_gptfdisk

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
parttypes.h 1.99 KB
一键复制 编辑 原始数据 按行查看 历史
/* This program is copyright (c) 2009-2018 by Roderick W. Smith. It is distributed
under the terms of the GNU GPL version 2, as detailed in the COPYING file. */
#ifndef __PARTITION_TYPES
#define __PARTITION_TYPES
#include <stdint.h>
#include <stdlib.h>
#include <string>
#include "support.h"
#include "guid.h"
#ifdef USE_UTF16
#include <unicode/ustream.h>
#else
#define UnicodeString std::string
#endif
// A partition type
struct AType {
// I'm using a custom 16-bit extension of the original MBR 8-bit
// type codes, so as to permit disambiguation and use of new
// codes required by GPT
uint16_t MBRType;
GUIDData GUIDType;
std::string name;
int display; // 1 to show to users as available type, 0 not to
AType* next;
}; // struct AType
class PartType : public GUIDData {
protected:
static int numInstances;
static AType* allTypes; // Linked list holding all the data
static AType* lastType; // Pointer to last entry in the list
void AddAllTypes(void);
public:
// PartType with GUID "00000000-0000-0000-0000-000000000000"
static const PartType unusedPartType;
PartType(void);
PartType(const PartType & orig);
PartType(const GUIDData & orig);
~PartType(void);
// Set up type information
int AddType(uint16_t mbrType, const char * guidData, const char * name, int toDisplay = 1);
// New assignment operators....
PartType & operator=(const std::string & orig);
PartType & operator=(const char * orig);
// Assignment operators based on base class....
GUIDData & operator=(const GUIDData & orig) {return GUIDData::operator=(orig);}
// New data assignment
PartType & operator=(uint16_t ID); // Use MBR type code times 0x0100 to assign GUID
// Retrieve transformed GUID data based on type code matches
std::string TypeName(void) const;
UnicodeString UTypeName(void) const;
uint16_t GetHexType() const;
// Information relating to all type data
void ShowAllTypes(int maxLines = 21) const;
int Valid(uint16_t code) const;
};
#endif
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/openharmony/third_party_gptfdisk.git
git@gitee.com:openharmony/third_party_gptfdisk.git
openharmony
third_party_gptfdisk
third_party_gptfdisk
master

搜索帮助