Changeset 39e8406 in mainline for uspace/app/sbi/src/rdata_t.h


Ignore:
Timestamp:
2010-03-20T21:57:13Z (14 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
b535aeb
Parents:
6ba20a6b
Message:

Update SBI to rev. 128.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/sbi/src/rdata_t.h

    r6ba20a6b r39e8406  
    171171/** Property address.
    172172 *
    173  * When accessing part of a property that is non-scalar and mutable,
    174  * a read-modify-write (or get-modify-set) operation is necessary.
    175  * To accomodate this, the address item must hold a temporary copy of the
    176  * property value.
     173 * When an access or index operation is performed on a property, the getter
     174 * is run and the prefetched value is stored in @c tvalue. If the property
     175 * is a non-scalar value type (a struct), then we might want to point to
     176 * the proper @c var node inside it. @c tpos is used for this purpose.
     177 *
     178 * The assignment operator will modify @c tvalue and at the end the setter
     179 * is called to store @c tvalue back into the property.
    177180 */
    178181typedef struct {
     
    236239} rdata_item_t;
    237240
    238 /** Primitive type. */
    239 typedef struct {
    240 } rdata_tprimitive_t;
    241 
    242 /** Class, struct or interface type. */
    243 typedef struct {
    244         struct stree_csi *csi;
    245 } rdata_tcsi_t;
    246 
    247 /** Array type. */
    248 typedef struct {
    249         /** Base type item */
    250         struct rdata_titem *base_ti;
    251 
    252         /** Rank */
    253         int rank;
    254 
    255         /** Extents */
    256         list_t extents; /* of stree_expr_t */
    257 } rdata_tarray_t;
    258 
    259 /** Generic type. */
    260 typedef struct {
    261 } rdata_tgeneric_t;
    262 
    263 typedef enum {
    264         tic_tprimitive,
    265         tic_tcsi,
    266         tic_tarray,
    267         tic_tgeneric
    268 } titem_class_t;
    269 
    270 /** Type item, the result of evaluating a type expression. */
    271 typedef struct rdata_titem {
    272         titem_class_t tic;
    273 
    274         union {
    275                 rdata_tprimitive_t *tprimitive;
    276                 rdata_tcsi_t *tcsi;
    277                 rdata_tarray_t *tarray;
    278                 rdata_tgeneric_t *tgeneric;
    279         } u;
    280 } rdata_titem_t;
    281 
    282241#endif
Note: See TracChangeset for help on using the changeset viewer.