FreeRDP
registry_reg.c File Reference
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <winpr/wtypes.h>
#include <winpr/crt.h>
#include "registry_reg.h"
#include "../log.h"

Macros

#define TAG   WINPR_TAG("registry")
 
#define WINPR_HKLM_HIVE   "/etc/winpr/HKLM.reg"
 

Functions

static void reg_print_key (Reg *reg, RegKey *key)
 
static void reg_print_value (Reg *reg, RegVal *value)
 
static void reg_load_start (Reg *reg)
 
static void reg_load_finish (Reg *reg)
 
static RegVal * reg_load_value (Reg *reg, RegKey *key)
 
static BOOL reg_load_has_next_line (Reg *reg)
 
static char * reg_load_get_next_line (Reg *reg)
 
static char * reg_load_peek_next_line (Reg *reg)
 
static void reg_insert_key (Reg *reg, RegKey *key, RegKey *subkey)
 
static RegKey * reg_load_key (Reg *reg, RegKey *key)
 
void reg_load (Reg *reg)
 
static void reg_unload_value (Reg *reg, RegVal *value)
 
static void reg_unload_key (Reg *reg, RegKey *key)
 
void reg_unload (Reg *reg)
 
Reg * reg_open (BOOL read_only)
 
void reg_close (Reg *reg)
 
void reg_print (Reg *reg)
 

Variables

static struct reg_data_type REG_DATA_TYPE_TABLE []
 
static char * REG_DATA_TYPE_STRINGS []
 

Macro Definition Documentation

#define TAG   WINPR_TAG("registry")

WinPR: Windows Portable Runtime Windows Registry (.reg file format)

Copyright 2012 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

#define WINPR_HKLM_HIVE   "/etc/winpr/HKLM.reg"

Function Documentation

void reg_close ( Reg *  reg)

Here is the call graph for this function:

static void reg_insert_key ( Reg *  reg,
RegKey *  key,
RegKey *  subkey 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

void reg_load ( Reg *  reg)

Here is the call graph for this function:

Here is the caller graph for this function:

static void reg_load_finish ( Reg *  reg)
static

Here is the caller graph for this function:

static char* reg_load_get_next_line ( Reg *  reg)
static

Here is the caller graph for this function:

static BOOL reg_load_has_next_line ( Reg *  reg)
static

Here is the caller graph for this function:

static RegKey* reg_load_key ( Reg *  reg,
RegKey *  key 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static char* reg_load_peek_next_line ( Reg *  reg)
static

Here is the caller graph for this function:

static void reg_load_start ( Reg *  reg)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static RegVal* reg_load_value ( Reg *  reg,
RegKey *  key 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

Reg* reg_open ( BOOL  read_only)

Here is the call graph for this function:

Here is the caller graph for this function:

void reg_print ( Reg *  reg)

Here is the call graph for this function:

void reg_print_key ( Reg *  reg,
RegKey *  key 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

void reg_print_value ( Reg *  reg,
RegVal *  value 
)
static

Here is the caller graph for this function:

void reg_unload ( Reg *  reg)

Here is the call graph for this function:

Here is the caller graph for this function:

static void reg_unload_key ( Reg *  reg,
RegKey *  key 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static void reg_unload_value ( Reg *  reg,
RegVal *  value 
)
static

Here is the caller graph for this function:

Variable Documentation

char* REG_DATA_TYPE_STRINGS[]
static
Initial value:
=
{
"REG_NONE",
"REG_SZ",
"REG_EXPAND_SZ",
"REG_BINARY",
"REG_DWORD",
"REG_DWORD_BIG_ENDIAN",
"REG_LINK",
"REG_MULTI_SZ",
"REG_RESOURCE_LIST",
"REG_FULL_RESOURCE_DESCRIPTOR",
"REG_RESOURCE_REQUIREMENTS_LIST",
"REG_QWORD"
}
struct reg_data_type REG_DATA_TYPE_TABLE[]
static
Initial value:
=
{
{ "\"", 1, REG_SZ },
{ "dword:", 6, REG_DWORD },
{ "str:\"", 5, REG_SZ },
{ "str(2):\"", 8, REG_EXPAND_SZ },
{ "str(7):\"", 8, REG_MULTI_SZ },
{ "hex:", 4, REG_BINARY },
{ "hex(2):\"", 8, REG_EXPAND_SZ },
{ "hex(7):\"", 8, REG_MULTI_SZ },
{ "hex(b):\"", 8, REG_QWORD },
{ NULL, 0, 0 }
}
#define REG_BINARY
Definition: registry.h:95
#define REG_SZ
Definition: registry.h:93
#define REG_EXPAND_SZ
Definition: registry.h:94
#define REG_QWORD
Definition: registry.h:104
if availableBytes return NULL
Definition: TPCircularBuffer.h:104
#define REG_DWORD
Definition: registry.h:96
#define REG_MULTI_SZ
Definition: registry.h:100