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

Reply via email to