Lines Matching defs:generic

50  * A generic setting
54 /** List of generic settings */
65 * Get generic setting name
67 * @v generic Generic setting
70 static inline void * generic_setting_name ( struct generic_setting *generic ) {
71 return ( ( ( void * ) generic ) + sizeof ( *generic ) );
75 * Get generic setting data
77 * @v generic Generic setting
80 static inline void * generic_setting_data ( struct generic_setting *generic ) {
81 return ( ( ( void * ) generic ) + sizeof ( *generic ) +
82 generic->name_len );
86 * Find generic setting
90 * @ret generic Generic setting, or NULL
95 struct generic_setting *generic;
97 list_for_each_entry ( generic, &generics->list, list ) {
98 if ( setting_cmp ( &generic->setting, setting ) == 0 )
99 return generic;
105 * Store value of generic setting
122 /* Identify existing generic setting, if any */
125 /* Create new generic setting, if required */
127 /* Allocate new generic setting */
133 /* Populate new generic setting */
143 /* Delete existing generic setting, if any */
157 * Fetch value of generic setting
170 struct generic_setting *generic;
172 /* Find generic setting */
173 generic = find_generic_setting ( generics, setting );
174 if ( ! generic )
177 /* Copy out generic setting data */
178 if ( len > generic->data_len )
179 len = generic->data_len;
180 memcpy ( data, generic_setting_data ( generic ), len );
181 return generic->data_len;
185 * Clear generic settings block
192 struct generic_setting *generic;
195 list_for_each_entry_safe ( generic, tmp, &generics->list, list ) {
196 list_del ( &generic->list );
197 free ( generic );
216 /** Root generic settings block */
238 struct generic_settings generic;
250 generic_settings_clear ( &autovivified->generic.settings );
297 /* Create new generic settings block */
307 generic_settings_init ( &new_child->autovivified.generic,
309 settings = &new_child->autovivified.generic.settings;