lib: errnos: use ERFKILL only if it's defined

This is to fix compilation on RHEL5.3:
  In file included from tst_res.c:216:
  errnos.h: In function ‘strerrnodef’:
  errnos.h:164: error: ‘ERFKILL’ undeclared (first use in this function)
  errnos.h:164: error: (Each undeclared identifier is reported only once
  errnos.h:164: error: for each function it appears in.)
  errnos.h:164: error: array index in initializer not of integer type
  errnos.h:164: error: (near initialization for ‘errno_pairs’)
  make[1]: *** [tst_res.o] Error 1

Signed-off-by: Jan Stancek <jstancek@redhat.com>
Acked-by: Cyril Hrubis <chrubis@suse.cz>
lapi: Add fcntl.h to define O_CLOEXEC, fix build

This moves the numerous O_CLOEXEC defintions into lapi/fcntl.h header
and also fixes the dup3_02.c build on older distributions (where
O_CLOEXEC is not defined) by including this header.

Signed-off-by: Zeng Linggang <zenglg.jy@cn.fujitsu.com>
Signed-off-by: Cyril Hrubis <chrubis@suse.cz>
Signed-off-by: Jan Stancek <jstancek@redhat.com>
lib: errnos: Add few more ifdefs.

Now the lib compiles cleanly even on SLES9 and RHEL4 which should be far
more that is needed.

Signed-off-by: Cyril Hrubis <chrubis@suse.cz>