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_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)
 
static void reg_load (Reg *reg)
 
static void reg_unload_value (Reg *reg, RegVal *value)
 
static void reg_unload_key (Reg *reg, RegKey *key)
 
static void reg_unload (Reg *reg)
 
Reg * reg_open (BOOL read_only)
 
void reg_close (Reg *reg)
 

Variables

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

Macro Definition Documentation

◆ TAG

#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.

◆ WINPR_HKLM_HIVE

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

Function Documentation

◆ reg_close()

void reg_close ( Reg *  reg)
Here is the call graph for this function:

◆ reg_insert_key()

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:

◆ reg_load()

static void reg_load ( Reg *  reg)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ reg_load_finish()

static void reg_load_finish ( Reg *  reg)
static
Here is the caller graph for this function:

◆ reg_load_get_next_line()

static char* reg_load_get_next_line ( Reg *  reg)
static
Here is the caller graph for this function:

◆ reg_load_has_next_line()

static BOOL reg_load_has_next_line ( Reg *  reg)
static
Here is the caller graph for this function:

◆ reg_load_key()

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:

◆ reg_load_peek_next_line()

static char* reg_load_peek_next_line ( Reg *  reg)
static
Here is the caller graph for this function:

◆ reg_load_start()

static void reg_load_start ( Reg *  reg)
static
Here is the caller graph for this function:

◆ reg_load_value()

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_open()

Reg* reg_open ( BOOL  read_only)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ reg_unload()

static void reg_unload ( Reg *  reg)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ reg_unload_key()

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:

◆ reg_unload_value()

static void reg_unload_value ( Reg *  reg,
RegVal *  value 
)
static
Here is the caller graph for this function:

Variable Documentation

◆ REG_DATA_TYPE_STRINGS

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" }

◆ REG_DATA_TYPE_TABLE

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 } }
REG_QWORD
#define REG_QWORD
Definition: registry.h:105
REG_EXPAND_SZ
#define REG_EXPAND_SZ
Definition: registry.h:95
REG_DWORD
#define REG_DWORD
Definition: registry.h:97
REG_SZ
#define REG_SZ
Definition: registry.h:94
REG_BINARY
#define REG_BINARY
Definition: registry.h:96
REG_MULTI_SZ
#define REG_MULTI_SZ
Definition: registry.h:101
NULL
if availableBytes return NULL
Definition: TPCircularBuffer.h:109