error_t
argz.h(/usr/include/argz.h)中包含了errno.h(/usr/include/errno.h)头文件。errno.h头文件对error_t的定义如下:
/* The Hurd <bits/errno.h> defines `error_t' as an enumerated type so
that printing `error_t' values in the debugger shows the names. We
might need this definition sometimes even if this file was included
before. */
#if defined __USE_GNU || defined __need_error_t
# ifndef __error_t_defined
typedef int error_t;
# define __error_t_defined 1
# endif
#undef __need_error_t
#endif
ENOMEM:
argz系列函数如果执行成功将返回0(error_t类型),如果内存分配出错,则返回ENOMEM。经过一番艰难的查找,在头文件/usr/include/asm-generic/errno-base.h中找到ENOMEM的宏定义如下:
#ifndef _ASM_GENERIC_ERRNO_BASE_H
#define _ASM_GENERIC_ERRNO_BASE_H
......
#define ENOMEM 12 /* Out of memory */
......
#endif