Navigation


Changeset 687:026802543f57 in freeDiameter for libfdproto/dictionary.c


Ignore:
Timestamp:
Jan 19, 2011, 5:08:21 PM (13 years ago)
Author:
Sebastien Decugis <sdecugis@nict.go.jp>
Branch:
default
Phase:
public
Message:

Prepare for new message log facility

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libfdproto/dictionary.c

    r662 r687  
    13041304
    13051305/* Default dump functions */
    1306 static void dump_val_os(union avp_value * value)
     1306static void dump_val_os(union avp_value * value, FILE * fstr)
    13071307{
    13081308        int i;
    13091309        for (i = 0; i < value->os.len; i++) {
    13101310                if (i == 24) { /* Dump only up to 24 bytes of the buffer */
    1311                         fd_log_debug("[...] (len=%zd)", value->os.len);
     1311                        fd_log_debug_fstr(fstr, "[...] (len=%zd)", value->os.len);
    13121312                        break;
    13131313                }
    1314                 fd_log_debug("%02.2X ", value->os.data[i]);
    1315         }
    1316 }
    1317 
    1318 static void dump_val_i32(union avp_value * value)
    1319 {
    1320         fd_log_debug("%i (0x%x)", value->i32, value->i32);
    1321 }
    1322 
    1323 static void dump_val_i64(union avp_value * value)
    1324 {
    1325         fd_log_debug("%lli (0x%llx)", value->i64, value->i64);
    1326 }
    1327 
    1328 static void dump_val_u32(union avp_value * value)
    1329 {
    1330         fd_log_debug("%u (0x%x)", value->u32, value->u32);
    1331 }
    1332 
    1333 static void dump_val_u64(union avp_value * value)
    1334 {
    1335         fd_log_debug("%llu (0x%llx)", value->u64, value->u64);
    1336 }
    1337 
    1338 static void dump_val_f32(union avp_value * value)
    1339 {
    1340         fd_log_debug("%f", value->f32);
    1341 }
    1342 
    1343 static void dump_val_f64(union avp_value * value)
    1344 {
    1345         fd_log_debug("%g", value->f64);
     1314                fd_log_debug_fstr(fstr, "%02.2X ", value->os.data[i]);
     1315        }
     1316}
     1317
     1318static void dump_val_i32(union avp_value * value, FILE * fstr)
     1319{
     1320        fd_log_debug_fstr(fstr, "%i (0x%x)", value->i32, value->i32);
     1321}
     1322
     1323static void dump_val_i64(union avp_value * value, FILE * fstr)
     1324{
     1325        fd_log_debug_fstr(fstr, "%lli (0x%llx)", value->i64, value->i64);
     1326}
     1327
     1328static void dump_val_u32(union avp_value * value, FILE * fstr)
     1329{
     1330        fd_log_debug_fstr(fstr, "%u (0x%x)", value->u32, value->u32);
     1331}
     1332
     1333static void dump_val_u64(union avp_value * value, FILE * fstr)
     1334{
     1335        fd_log_debug_fstr(fstr, "%llu (0x%llx)", value->u64, value->u64);
     1336}
     1337
     1338static void dump_val_f32(union avp_value * value, FILE * fstr)
     1339{
     1340        fd_log_debug_fstr(fstr, "%f", value->f32);
     1341}
     1342
     1343static void dump_val_f64(union avp_value * value, FILE * fstr)
     1344{
     1345        fd_log_debug_fstr(fstr, "%g", value->f64);
    13461346}
    13471347
    13481348/* Get the dump function for basic dict_avp_basetype */
    1349 static void (*get_default_dump_val_cb(enum dict_avp_basetype datatype))(union avp_value *)
     1349static void (*get_default_dump_val_cb(enum dict_avp_basetype datatype))(union avp_value *, FILE *)
    13501350{
    13511351        switch (datatype) {
     
    13821382
    13831383/* Formater for the AVP value dump line */
    1384 static void dump_avp_val(union avp_value *avp_value, void (*dump_val_cb)(union avp_value *avp_value), enum dict_avp_basetype datatype, char * type_name, char * const_name, int indent)
     1384static void dump_avp_val(union avp_value *avp_value, void (*dump_val_cb)(union avp_value *, FILE *), enum dict_avp_basetype datatype, char * type_name, char * const_name, int indent, FILE * fstr)
    13851385{
    13861386        /* Header for all AVP values dumps: */
    1387         fd_log_debug(INOBJHDR "value ", INOBJHDRVAL);
     1387        fd_log_debug_fstr(fstr, INOBJHDR "value ", INOBJHDRVAL);
    13881388       
    13891389        /* If the type is provided, write it */
    13901390        if (type_name)
    1391                 fd_log_debug("t: '%s' ", type_name);
     1391                fd_log_debug_fstr(fstr, "t: '%s' ", type_name);
    13921392       
    13931393        /* Always give the base datatype anyway */
    1394         fd_log_debug("(%s) ", type_base_name[datatype]);
     1394        fd_log_debug_fstr(fstr, "(%s) ", type_base_name[datatype]);
    13951395       
    13961396        /* Now, the value */
    1397         fd_log_debug("v: ");
     1397        fd_log_debug_fstr(fstr, "v: ");
    13981398        if (const_name)
    1399                 fd_log_debug("'%s' (", const_name);
    1400         (*dump_val_cb)(avp_value);
     1399                fd_log_debug_fstr(fstr, "'%s' (", const_name);
     1400        (*dump_val_cb)(avp_value, fstr);
    14011401        if (const_name)
    1402                 fd_log_debug(")");
     1402                fd_log_debug_fstr(fstr, ")");
    14031403       
    14041404        /* Done! */
    1405         fd_log_debug("\n");
     1405        fd_log_debug_fstr(fstr, "\n");
    14061406}
    14071407
    14081408/* Dump the value of an AVP of known type */
    1409 void fd_dict_dump_avp_value(union avp_value *avp_value, struct dict_object * model, int indent)
    1410 {
    1411         void (*dump_val_cb)(union avp_value *avp_value);
     1409void fd_dict_dump_avp_value(union avp_value *avp_value, struct dict_object * model, int indent, FILE * fstr)
     1410{
     1411        void (*dump_val_cb)(union avp_value *avp_value, FILE * fstr);
    14121412        struct dict_object * type = NULL;
    14131413        char * type_name = NULL;
     
    14441444       
    14451445        /* And finally, dump the value */
    1446         dump_avp_val(avp_value, dump_val_cb, model->data.avp.avp_basetype, type_name, const_name, indent);
     1446        dump_avp_val(avp_value, dump_val_cb, model->data.avp.avp_basetype, type_name, const_name, indent, fstr);
    14471447}
    14481448
Note: See TracChangeset for help on using the changeset viewer.