hal.c File Reference
`#include <stdio.h>`
`#include <stdlib.h>`
`#include <string.h>`
`#include <unistd.h>`
`#include <ctype.h>`
`#include <fcntl.h>`
`#include <inttypes.h>`
`#include <errno.h>`
`#include <sys/stat.h>`
`#include <sys/types.h>`
`#include <sys/ioctl.h>`
`#include <sys/socket.h>`
`#include "hd.h"`
`#include "hd_int.h"`
`#include "hal.h"`

## Functions

static void | read_hal (hd_data_t *hd_data)
static void | add_pci (hd_data_t *hd_data)
static void | link_hal_tree (hd_data_t *hd_data)
static int | hal_match_str (hal_prop_t *prop, const char *key, const char *val)
static int | check_udi (const char *udi)
static FILE * | hd_open_properties (const char *udi, const char *mode)
static char * | skip_space (char *s)
static char * | skip_non_eq_or_space (char *s)
static char * | skip_nonquote (char *s)
static void | parse_property (hal_prop_t *prop, char *str)
static void | find_udi (hd_data_t *hd_data, hd_t *hd, int match)
void | hd_scan_hal (hd_data_t *hd_data)
void | hd_scan_hal_basic (hd_data_t *hd_data)
hal_device_t * | hal_find_device (hd_data_t *hd_data, char *udi)
void | hal_invalidate (hal_prop_t *prop)
void | hal_invalidate_all (hal_prop_t *prop, const char *key)
hal_prop_t * | hal_get_any (hal_prop_t *prop, const char *key)
hal_prop_t * | hal_get_bool (hal_prop_t *prop, const char *key)
hal_prop_t * | hal_get_int32 (hal_prop_t *prop, const char *key)
hal_prop_t * | hal_get_str (hal_prop_t *prop, const char *key)
char * | hal_get_useful_str (hal_prop_t *prop, const char *key)
hal_prop_t * | hal_get_list (hal_prop_t *prop, const char *key)
hal_prop_t * | hal_add_new (hal_prop_t **prop)
char * | hd_hal_print_prop (hal_prop_t *prop)
int | hd_write_properties (const char *udi, hal_prop_t *prop)
hal_prop_t * | hd_read_properties (const char *udi)
void | hd_scan_hal_assign_udi (hd_data_t *hd_data)