_ARGS_ is used to pass arguments into a func, in a generic way.

This is used here to allow non-ANSI as well as ANSI C compilers to compile the program successfully.
Old non-ANSI C style functions were defined like :

Code: C
int sum(a,b)
int a,b;
{
      return (a+b);
}

But ANSI C uses the following style :
Code: C
int sum(int a, int b)
{
      return (a+b);
}

So, what exactly is done here is, no specific style is adopted, rather the arguments are passed in a generic method by using _ARGS_.
Then using the #ifdef, we check if ANSI style can be used.
If so, we define the func in ANSI C style using the arguments passed through _ARGS_, else we define the func in non-ANSI C style using the arguments passed through _ARGS_.