Changeset 160 for trunk/include


Ignore:
Timestamp:
12/06/09 20:00:58 (15 years ago)
Author:
tim
Message:

reorganized classname parsing and interpretation code

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/regfi.h

    r159 r160  
    251251
    252252
     253typedef struct _regfi_classname
     254{
     255  /* As converted to requested character encoding. */
     256  char* interpreted;
     257
     258  /* Represents raw buffer read from classname cell. */
     259  uint8* raw;
     260
     261  /* Length of the raw data. May be shorter than that indicated by parent key.*/
     262  uint16 size;
     263} REGFI_CLASSNAME;
     264
     265
    253266typedef struct _regfi_data
    254267{
     
    299312
    300313  char*  valuename;
     314  uint8* valuename_raw;
    301315  uint16 name_length;
    302316  uint32 hbin_off;      /* offset from beginning of this hbin block */
     
    351365  uint16 name_length;
    352366  uint16 classname_length;
    353   char* classname;
    354367  char* keyname;
     368  uint8* keyname_raw;
    355369  uint32 parent_off;                /* pointer to parent key */
    356370  uint32 classname_off;
     
    554568                                                const char* value_name);
    555569
     570REGFI_CLASSNAME*      regfi_iterator_fetch_classname(REGFI_ITERATOR* i,
     571                                                     const REGFI_NK_REC* key);
    556572REGFI_DATA*           regfi_iterator_fetch_data(REGFI_ITERATOR* i,
    557573                                                const REGFI_VK_REC* value);
     
    583599                                           const char* string_encoding,
    584600                                           uint32 type, REGFI_DATA* data);
     601void                  regfi_free_classname(REGFI_CLASSNAME* classname);
    585602void                  regfi_free_data(REGFI_DATA* data);
     603
    586604
    587605/* These are cached so return values don't need to be freed. */
     
    628646                                       uint32* cell_length, bool* unalloc);
    629647
    630 char*                 regfi_parse_classname(REGFI_FILE* file, uint32 offset,
     648uint8*                regfi_parse_classname(REGFI_FILE* file, uint32 offset,
    631649                                            uint16* name_length,
    632650                                            uint32 max_size, bool strict);
Note: See TracChangeset for help on using the changeset viewer.