O limite de arquivo retornado por ulimit é o número de arquivos que podem ser abertos por um único processo (ulimit -n para ver apenas o número de descritores). O valor retornado é o RLIMIT_NOFILE (ou man getrlimit), descrito em man ulimit. Este pequeno aplicativo gerará o mesmo valor (1024):
#include <stdio.h>
#include <sys/time.h>
#include <sys/resource.h>
int main(){
struct rlimit info;
getrlimit(RLIMIT_NOFILE, &info);
printf("%d\n", info.rlim_cur);
return 0;
}