include/able/properties.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

union  property_val_u
struct  property_ent
struct  property_table

Defines

#define _ABLE_CLIB_ABLE_PROPERTIES_H   1
#define PROPERTY_MAKETYPE(x)   ((x) << 28)
#define PROPERTY_TYPE_INT   PROPERTY_MAKETYPE(0x00)
#define PROPERTY_TYPE_UINT   PROPERTY_MAKETYPE(0x01)
#define PROPERTY_TYPE_STR   PROPERTY_MAKETYPE(0x02)
#define PROPERTY_TYPE_PTR   PROPERTY_MAKETYPE(0x03)
#define PROPERTY_TYPE_IPTR   PROPERTY_MAKETYPE(0x04)
#define PROPERTY_GET_TYPE(x)   ((x) & (0xf << 28))
#define PROPERTY_ENT_EMPTY   { (property_id_t)0, { 0 } }
#define PROPERTY_ENT_ISEMPTY(ent)   ((ent)->id == (property_id_t)0)
#define PROPERTY_ENTRY_IPTR(ent, val)   { (ent), { .iptr = (val) } }
#define PROPERTY_ENTRY_CSTR(ent, val)   { (ent), { .cstr = (val) } }
#define PROPERTY_TABLE_STATIC   (0x000000001)
#define PROPERTY_TABLE_DYNAMIC   (0x000000002)
#define PROPERTY_TABLE_END   { 0, NULL }
#define PROPERTY_TABLE_ISEND(tab)   ((tab)->properties == NULL)
#define PROPERTY(type, index)   ((type) | (index))
#define SYS_PROPERTY_VERSION   PROPERTY(PROPERTY_TYPE_INT, 0x000001)
#define SYS_PROPERTY_LINUXID   PROPERTY(PROPERTY_TYPE_INT, 0x000002)
#define SYS_PROPERTY_ARCHNAME   PROPERTY(PROPERTY_TYPE_STR, 0x000003)
#define SYS_PROPERTY_MACHNAME   PROPERTY(PROPERTY_TYPE_STR, 0x000004)
#define SYS_PROPERTY_RELEASE   PROPERTY(PROPERTY_TYPE_INT, 0x000005)
#define SYS_PROPERTY_NETBSDID   PROPERTY(PROPERTY_TYPE_INT, 0x000006)
#define SYS_PROPERTY_ABLEID   PROPERTY(PROPERTY_TYPE_INT, 0x000007)
#define SYS_PROPERTY_ALIUDMACLK   PROPERTY(PROPERTY_TYPE_IPTR, 0x000008)
#define SYS_PROPERTY_MEMCLK   PROPERTY(PROPERTY_TYPE_IPTR, 0x00000A)
#define SYS_PROPERTY_FOOTBRIDGE_FCLK   PROPERTY(PROPERTY_TYPE_IPTR, 0x09)
#define SYS_PROPERTY_ROMBASE   PROPERTY(PROPERTY_TYPE_PTR, 0x00000C)
#define SYS_PROPERTY_ROMMAXSIZE   PROPERTY(PROPERTY_TYPE_INT, 0x00000D)
#define SYS_PROPERTY_CLOCK   PROPERTY(PROPERTY_TYPE_IPTR, 0x00000E)
#define CPU_PROPERTY_NAME   PROPERTY(PROPERTY_TYPE_STR, 0x00000F)
#define CPU_PROPERTY_VERSION   PROPERTY(PROPERTY_TYPE_INT, 0x000010)
#define CPU_PROPERTY_SPEEDS   PROPERTY(PROPERTY_TYPE_IPTR, 0x000011)
#define CPU_PROPERTY_DEFSPEED   PROPERTY(PROPERTY_TYPE_INT, 0x000012)
#define CPU_PROPERTY_IOTIMING   PROPERTY(PROPERTY_TYPE_PTR, 0x000013)
#define DRV_PROPERTY_FBMODE   PROPERTY(PROPERTY_TYPE_PTR, 0x004000)
#define DRV_PROPERTY_FBHW   PROPERTY(PROPERTY_TYPE_PTR, 0x004001)
#define DRV_PROPERTY_FBBACKLIGHT   PROPERTY(PROPERTY_TYPE_PTR, 0x004002)
#define DRV_PROPERTY_FBOUTPUT   PROPERTY(PROPERTY_TYPE_PTR, 0x004003)
#define S3C24XX_PROPERTY_PLLTAB   PROPERTY(PROPERTY_TYPE_PTR, 0x008000)
#define PROPERTY_SHADOW_BASE   (0x200)
#define SYS_PROPERTY_STATICPART   PROPERTY(PROPERTY_TYPE_PTR, 0x000400)

Typedefs

typedef unsigned int property_id_t
typedef union property_val_u property_val_t
typedef struct property_ent property_ent_t
typedef struct property_table property_table_t

Functions

property_table_tproperty_table_create (void)
int property_table_add (property_table_t **table, int flags, property_ent_t *set)
property_ent_tproperty_find (property_table_t *table, property_id_t id, int no)
int property_get_int (property_table_t *table, property_id_t id, int defaultval, int *result)
unsigned int property_get_uint (property_table_t *table, property_id_t id, unsigned int defaultval, int *result)
char * property_get_str (property_table_t *table, property_id_t id, char *defaultval, int *result)
int * property_get_iptr (property_table_t *table, property_id_t id, int *defaultval, int *result)
void * property_get_ptr (property_table_t *table, property_id_t id, void *defval, int *result)


Define Documentation

#define _ABLE_CLIB_ABLE_PROPERTIES_H   1

#define CPU_PROPERTY_DEFSPEED   PROPERTY(PROPERTY_TYPE_INT, 0x000012)

#define CPU_PROPERTY_IOTIMING   PROPERTY(PROPERTY_TYPE_PTR, 0x000013)

#define CPU_PROPERTY_NAME   PROPERTY(PROPERTY_TYPE_STR, 0x00000F)

#define CPU_PROPERTY_SPEEDS   PROPERTY(PROPERTY_TYPE_IPTR, 0x000011)

#define CPU_PROPERTY_VERSION   PROPERTY(PROPERTY_TYPE_INT, 0x000010)

#define DRV_PROPERTY_FBBACKLIGHT   PROPERTY(PROPERTY_TYPE_PTR, 0x004002)

#define DRV_PROPERTY_FBHW   PROPERTY(PROPERTY_TYPE_PTR, 0x004001)

#define DRV_PROPERTY_FBMODE   PROPERTY(PROPERTY_TYPE_PTR, 0x004000)

#define DRV_PROPERTY_FBOUTPUT   PROPERTY(PROPERTY_TYPE_PTR, 0x004003)

#define PROPERTY ( type,
index   )     ((type) | (index))

#define PROPERTY_ENT_EMPTY   { (property_id_t)0, { 0 } }

#define PROPERTY_ENT_ISEMPTY ( ent   )     ((ent)->id == (property_id_t)0)

#define PROPERTY_ENTRY_CSTR ( ent,
val   )     { (ent), { .cstr = (val) } }

#define PROPERTY_ENTRY_IPTR ( ent,
val   )     { (ent), { .iptr = (val) } }

#define PROPERTY_GET_TYPE (  )     ((x) & (0xf << 28))

#define PROPERTY_MAKETYPE (  )     ((x) << 28)

#define PROPERTY_SHADOW_BASE   (0x200)

#define PROPERTY_TABLE_DYNAMIC   (0x000000002)

#define PROPERTY_TABLE_END   { 0, NULL }

#define PROPERTY_TABLE_ISEND ( tab   )     ((tab)->properties == NULL)

#define PROPERTY_TABLE_STATIC   (0x000000001)

#define PROPERTY_TYPE_INT   PROPERTY_MAKETYPE(0x00)

#define PROPERTY_TYPE_IPTR   PROPERTY_MAKETYPE(0x04)

#define PROPERTY_TYPE_PTR   PROPERTY_MAKETYPE(0x03)

#define PROPERTY_TYPE_STR   PROPERTY_MAKETYPE(0x02)

#define PROPERTY_TYPE_UINT   PROPERTY_MAKETYPE(0x01)

#define S3C24XX_PROPERTY_PLLTAB   PROPERTY(PROPERTY_TYPE_PTR, 0x008000)

#define SYS_PROPERTY_ABLEID   PROPERTY(PROPERTY_TYPE_INT, 0x000007)

#define SYS_PROPERTY_ALIUDMACLK   PROPERTY(PROPERTY_TYPE_IPTR, 0x000008)

#define SYS_PROPERTY_ARCHNAME   PROPERTY(PROPERTY_TYPE_STR, 0x000003)

#define SYS_PROPERTY_CLOCK   PROPERTY(PROPERTY_TYPE_IPTR, 0x00000E)

#define SYS_PROPERTY_FOOTBRIDGE_FCLK   PROPERTY(PROPERTY_TYPE_IPTR, 0x09)

#define SYS_PROPERTY_LINUXID   PROPERTY(PROPERTY_TYPE_INT, 0x000002)

#define SYS_PROPERTY_MACHNAME   PROPERTY(PROPERTY_TYPE_STR, 0x000004)

#define SYS_PROPERTY_MEMCLK   PROPERTY(PROPERTY_TYPE_IPTR, 0x00000A)

#define SYS_PROPERTY_NETBSDID   PROPERTY(PROPERTY_TYPE_INT, 0x000006)

#define SYS_PROPERTY_RELEASE   PROPERTY(PROPERTY_TYPE_INT, 0x000005)

#define SYS_PROPERTY_ROMBASE   PROPERTY(PROPERTY_TYPE_PTR, 0x00000C)

#define SYS_PROPERTY_ROMMAXSIZE   PROPERTY(PROPERTY_TYPE_INT, 0x00000D)

#define SYS_PROPERTY_STATICPART   PROPERTY(PROPERTY_TYPE_PTR, 0x000400)

#define SYS_PROPERTY_VERSION   PROPERTY(PROPERTY_TYPE_INT, 0x000001)


Typedef Documentation

typedef struct property_ent property_ent_t

typedef unsigned int property_id_t


Function Documentation

property_ent_t* property_find ( property_table_t table,
property_id_t  id,
int  no 
)

int property_get_int ( property_table_t table,
property_id_t  id,
int  defaultval,
int *  result 
)

int* property_get_iptr ( property_table_t table,
property_id_t  id,
int *  defaultval,
int *  result 
)

void* property_get_ptr ( property_table_t table,
property_id_t  id,
void *  defval,
int *  result 
)

char* property_get_str ( property_table_t table,
property_id_t  id,
char *  defaultval,
int *  result 
)

unsigned int property_get_uint ( property_table_t table,
property_id_t  id,
unsigned int  defaultval,
int *  result 
)

int property_table_add ( property_table_t **  table,
int  flags,
property_ent_t set 
)

property_table_t* property_table_create ( void   ) 


Generated on Tue Jan 20 14:28:54 2009 for ABLE LIBC by  doxygen 1.5.6