On Tue, 14 Sep 2010 23:55:20 +0100, Andrew Beverley <a...@andybev.com> wrote: >> * Config.accessList.outgoingTos, Config.accessList.clientsideTos, >> Config.accessList.outgoingNfmark, Config.accessList.clientsideNfmark can >> become members of the Qos scope Config object. All the parsing /free >> stuff >> can be moved there too with some #define parse_...() etc for the legacy >> parser. >> > > I've moved all the configuration variables and functions to the Qos > scope. I have renamed parse_acl_tos(acl_tos ** head) as > Ip::Qos::Config::parseConfigAclTos(acl_tos ** head). > > However, I'm unable to compile because of the following error: > > Qos.cc: In member function ‘void > Ip::Qos::Config::parseConfigAclTos(acl_tos**)’: > Qos.cc:377: error: argument of type ‘void (Ip::Qos::Config::)(void*)’ does > not match ‘void (*)(void*)’ > > The code at line 377 is: > > CBDATA_INIT_TYPE_FREECB(acl_tos, freedConfigAclTos); > > I have > > CBDATA_TYPE(acl_tos); > > specified before the parseConfigAclTos function. > > Could you give me any ideas as to what I am doing wrong here? If you > need me to send through any more of the code then please let me know.
Do you have this with a cast? #define parse_acl_tos(X) Ip::Qos::Config::parseConfigAclTos((acl_tos **)X) with the cf.data.pre "TYPE: acl_tos" unchanged. Amos