Implementing the exported functions is the final step. The example function in first_module looks like this:
| ZEND_FUNCTION(first_module)
{
    long parameter;
    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", ¶meter) == FAILURE) {
        return;
    }
    RETURN_LONG(parameter);
} | 
After the declaration, code for checking and retrieving the function's arguments, argument conversion, and return value generation follows (more on this later).