It can mean two things: either the parameter has been assigned a default value, or, there's an overloaded version of it which takes not arguments. Here's an example of the two:
// Default argument:
int Function1( int Parameter = 0 )
{
// With default arguments, you don't have to pass a value to it. Instead, it will
// used the default value.
}
// No parameters:
int Function2( )
{
// This function requires no arguments.
}
int main( )
{
// Calling the default argument function:
Function1( );
// Over-ride the default argument value. Function1( ) will now use
// the value of 10 instead of zero.
Function1( 10 );
// Calling the no-parameters function:
Function2( );
}
Look at the prototype of attach_callback_func(), probably it receives a function as an argument.
So you are not calling at nl_kaodv_callback() there, but passing its address to the other function.
I guess that is defining a function to be called when an event is triggered.