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

Macros

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

Functions

static char * reg_data_type_string (DWORD type)
 
static BOOL reg_load_start (Reg *reg)
 
static void reg_load_finish (Reg *reg)
 
static RegVal * reg_load_value (const 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)
 
const char * reg_type_string (DWORD type)
 

Variables

static struct reg_data_type REG_DATA_TYPE_TABLE []
 

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:
Here is the caller graph for this function:

◆ reg_data_type_string()

static char* reg_data_type_string ( DWORD  type)
static
Here is the caller 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 BOOL reg_load_start ( Reg *  reg)
static
Here is the caller graph for this function:

◆ reg_load_value()

static RegVal* reg_load_value ( const 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_type_string()

const char* reg_type_string ( DWORD  type)
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 call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ 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 } }
REG_MULTI_SZ
@ REG_MULTI_SZ
Definition: registry.h:103
REG_DWORD
@ REG_DWORD
Definition: registry.h:99
REG_EXPAND_SZ
@ REG_EXPAND_SZ
Definition: registry.h:97
REG_QWORD
@ REG_QWORD
Definition: registry.h:107
REG_SZ
@ REG_SZ
Definition: registry.h:96
REG_BINARY
@ REG_BINARY
Definition: registry.h:98