📄 register.h
字号:
/******************************************************************/
/* Copyright (C) 2007 ROCK-CHIPS FUZHOU . All Rights Reserved. */
/*******************************************************************
File : register.h
Desc : 定义系统注册表的操作函数.
Author : huangsl
Date : 2007-06-21
Notes :
$Log: register.h,v $
Revision 1.4 2008/01/07 12:52:18 Huangshilin
no message
Revision 1.3 2007/10/11 04:08:11 Huangshilin
System\os
Revision 1.2 2007/10/08 02:56:23 Lingzhaojun
添加版本自动注释脚本
* huangsl 2007-06-21 利用window的思想,通过注册表来配置系统.
*
*********************************************************************/
#ifndef _OS_IREGISTER_H
#define _OS_IREGISTER_H
/********************************************************************/
/********************************************************************/
#define REGN_DEBUG 0
/********************************************************************
GLOBAL MACROS DEFINE
********************************************************************/
#define REGN_MAXNAME 11 //for 4 align
#define REGN_MAXLOADING 3 //最大 查找 次数.
#define REGN_MAXKEYLEN (12*10) //10 级
// NODE FLAG
#define REGN_F_FLAG ((0X00000001U<<31)|0X00000001U) // 一个标志,便于查找数据(FILE)
#define REGN_F_FOLDER (0X00000001U<<30)
#define REGN_F_RO (0X00000001U<<29) // 只读,程序中不可改变.
#define REGN_F_DEL (0X00000001U<<28) // 已经删除掉,用于保存中.
#define REGN_F_REALLOC (0X00000001U<<27) // 重新申请空间.
/*********************************************************************
ENUMERATIONS AND STRUCTURES
*********************************************************************/
typedef void* RKEY;
/*****************************************************************/
#ifndef REGISTER_OUT
/*********************************************************************
FUNCTION PROTOTYPES
*********************************************************************/
//装载 --因为 REG 会 越来越大,因此不能传入固定大小,需要动态申请.
void RegisterInitilize(void);
//保存
void RegisterSerialize(void);
//用 系统注册表恢复 默认值.
void RegisterRestore(void);
//PREG_NODE RegisterGetKey( char* Key );
RKEY RegisterAddKey(char* Key , INT32U dataSize); //如果存在,则修改
BOOLEAN RegisterDelKey(char* Key); //只有叶子节点才能删除
#define RegisterGetKeyValue( key ) RegisterGetKeyValueEx( key , NULL )
const void * RegisterGetKeyValueEx(char* Key , INT32U *valueSize);
BOOLEAN RegisterSetKeyValue(char* Key , void * kValue);
//返回 NULL 表示 错误.
RKEY RegisterGetKey(char* Key);
RKEY RegisterGetFirstKeyChild(RKEY parentKey);
RKEY RegisterGetNextKeyChild(RKEY curChildKey);
const void * RegisterGetRKEYData(RKEY key , INT32U *valueSize);
BOOLEAN RegisterSetRKEYData(RKEY key , void * kValue);
BOOLEAN RegisterSetRKeyFlag(RKEY key , INT32U Flag);
INT32U RegisterCheckKeyValid(void);
#ifndef DLL
void RegInitGuidInitialise(void);
#endif
#ifdef _REGISTER
void RegisterInitliseKeys(void);
void PCRegisterAddCommentTag(RKEY key , char* comment ,
char * typeTig);
extern RKEY PCRegisterAddKey(char* Key , INT32U vSize) ;
#endif
#if REGN_DEBUG > 0
void TestRegister(void);
#endif
#endif
/**************************************************************/
#endif //_OS_IREGISTER_H
/*********************************************************************
END OF FILE
*********************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -