POSIX.1 ve POSIX.2 standartları, sistemin kapasite sınırlamasını açıklayan bir miktar parametre belirlemiştir. Bu sınırlar belli bir işletim sistemi için değişmez sabitler olabileceği gibi makineden makineye değişen sabitler de olabilir. Örneğin, bazı sınır değerler sistem yöneticisi tarafından sistemin çalışması sırasında ya da çekirdeği derlerken yapılandırılabilir ve bu uygulama yazılımlarının yeniden derlenmesini gerektirmez.
Aşağıdaki sınır parametrelerinin herbiri limits.h başlık dosyasında tanımlanmış birer makro olup, sadece parametre için sistem bir sabit ve tektip bir sınıra sahipse anlamlıdırlar. Eğer sistem farklı dosya sistemleri ya da dosyalara farklı sınırlar atanmasına izin veriyorsa, makro tanımsızdır; böyle bir makine üzerinde belli bir anda uygulanan sınırı öğrenmek için sysconf kullanılır. Bkz. sysconf Kullanımı.
Bu parametrelerin her biri için ismi _POSIX ile başlayan başka makrolar da vardır. Bunlar herhangi bir POSIX sisteminde izin verilen sınırın en düşük değerini verirler. Bkz. Asgari Değerler.
int ARG_MAX
makro
Tanımlıysa, exec işlevlerine aktarılabilen argv ve environ argümanlarının uzunluklarının toplamı için değişmez bir azami değerdir.
int CHILD_MAX
makro
Tanımlıysa, aynı anda çalışabilecek aynı gerçek kullanıcı kimlikli süreçlerin azami sayısını belirten değişmez bir değerdir. BSD ve GNU'da bu RLIMIT_NPROC özkaynak sınırı ile denetlenir; bkz. Özkaynak Kullanımın Sınırlanması.
int OPEN_MAX
makro
Tanımlıysa, tek bir sürecin aynı anda açabileceği dosya sayısının azami sayısını belirten değişmez bir değerdir. BSD ve GNU'da bu RLIMIT_NOFILE özkaynak sınırı ile denetlenir; bkz. Özkaynak Kullanımın Sınırlanması.
int STREAM_MAX
makro
Tanımlıysa, tek bir sürecin aynı anda açabileceği akım sayısının azami sayısını belirten değişmez bir değerdir. Bkz. Akımların Açılması.
int TZNAME_MAX
makro
Tanımlıysa, zaman dilimi isminin azami uzunluğunu belirten değişmez bir değerdir. Bkz. Zaman Dilimi Değişkenleri ve İşlevleri.
Bu sınır makroları daima limits.h dosyasında tanımlıdır.
int NGROUPS_MAX
makro
Bir sürecin sahip olabileceği ek grup kimliklerinin azami sayısı.
Bu makronun değeri aslında azami değerin alt sınırıdır. Yani, siz bu sayıda ek grubun üyesi olabilirsiniz ama bir makine size daha fazlası için izin verebilir. Bir makinenin size daha fazlası için izin verip vermediğini öğrenmek için sysconf kullanabilirsiniz (bkz. sysconf Kullanımı).
int SSIZE_MAX
makro
ssize_t türünde bir nesneye kapasitebilen en büyük değer. Etkin olarak, bu, tek bir işlem sırasında okunabilecek ya da yazılabilecek baytların sayısı ile ilgili bir sınırdır.
Bu makro tüm POSIX sistemlerinde tanımlıdır, çünkü bu sınır asla yapılandırılmaz.
int RE_DUP_MAX
makro
Bir düzenli ifadede \{enaz,ençok\} yapısında garanti edilmiş en büyük yineleme sayısıdır.
Bu makronun değeri aslında azami değerin alt sınırıdır. Yani, siz bu sayıda yineleme sayabilirsiniz ama bir makine size daha fazlası için izin verebilir. Bir makinenin size daha fazlası için izin verip vermediğini öğrenmek için sysconf kullanabilirsiniz (bkz. sysconf Kullanımı). Hatta sysconf'un söylediği değer de sadece bir alt sınırdır--daha büyük değerler çalışabilir.
Bu makro tüm POSIX.2 sistemlerinde tanımlıdır, çünkü POSIX.2 zorlanmış özel bir sınırın olmamasının istendiği durumda bile bunun daima tanımlanmış olmasını gerektirir.