Recently I dug a little bit into old graphics libraries and found [libxmi](https://www.gnu.org/software/libxmi/). The site was last updated on 08/09/2000. And in the source code I found the following style of function definitions which I have never seen before:

```
#include <stdio.h>

int add(a, b)
    int a, b;
{
    return a + b;
}

int main()
{
    printf("%d\n", add(5, 6));
}

```

Believe it or not but you can compile this with a recent gcc and MSVC (in C mode). When was this type of definitions invented? Is it even standardized ISO C? What is this?