Going back to posix_system(), you should now be able to
understand this bit:
        if (!getargs(args, "s", &command))
            return NULL;
It returns NULL (the error indicator for functions of this
kind) if an error is detected in the argument list, relying on the
exception set by getargs().  Otherwise the string value of the
argument has been copied to the local variable command - this
is in fact just a pointer assignment and you are not supposed to
modify the string to which it points.
If a function is called with multiple arguments, the argument list
(the argument args) is turned into a tuple.  If it is called
without arguments, args is NULL. getargs() knows
about this; see later.
The next statement in posix_system() is a call to the C library
function system(), passing it the string we just got from
getargs():
        sts = system(command);
Finally, posix.system() must return a value: the integer status
returned by the C library system() function.  This is done
using the function mkvalue(), which is something like the
inverse of getargs(): it takes a format string and a variable
number of C values and returns a new Python object.
        return mkvalue("i", sts);
In this case, it returns an integer object (yes, even integers are
objects on the heap in Python!).  More info on mkvalue() is
given later.
If you had a function that returned no useful argument (a.k.a. a procedure), you would need this idiom:
        INCREF(None);
        return None;
None is a unique Python object representing `no value'.  It
differs from NULL, which means `error' in most contexts.