1 .\" Copyright 2002 walter harms (walter.harms@informatik.uni-oldenburg.de)
2 .\" Distributed under GPL
3 .\" based on the description in glibc source and infopages
5 .\" Corrections and additions, aeb
7 .\" Japanese Version Copyright (c) 2002 Akihiro MOTOKI, all rights reserved.
8 .\" Translated Mon Feb 2 2003 by Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
10 .TH ENVZ_ADD 3 2007-05-18 "" "Linux Programmer's Manual"
12 envz_add, envz_entry, envz_get, envz_merge,
13 envz_remove, envz_strip \- ´Ä¶ÊÑ¿ôʸ»úÎó¤ÎÁàºî
16 .B "#include <envz.h>"
18 .BI "error_t envz_add(char **" envz ", size_t *" envz_len ,
20 .BI "const char *" name ", const char *" value );
22 .BI "char *envz_entry(const char *" envz ", size_t *" envz_len \
23 ", const char *" name );
25 .BI "char *envz_get(const char *" envz ", size_t *" envz_len \
26 ", const char *" name );
28 .BI "error_t envz_merge(char **" envz ", size_t *" envz_len ,
30 .BI "const char *" envz2 ", size_t " envz2_len ", int " override );
32 .BI "void envz_remove(char **" envz ", size_t *" envz_len \
33 ", const char *" name );
35 .BI "void envz_strip(char **" envz ", size_t *" envz_len );
38 ¤³¤ì¤é¤Î´Ø¿ô glibc ¸ÇͤǤ¢¤ë¡£
40 argz vector ¤ÏŤµ¾ðÊóÉÕ¤¤Îʸ»ú¥Ð¥Ã¥Õ¥¡¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¡£
43 envz vector ¤Ï¡¢Ê¸»úÎó¤¬ "name=value (̾Á°=ÃÍ)" ¤Î·Á¼°¤Ë¤Ê¤Ã¤Æ¤¤¤ëÆÃÊ̤Ê
45 ºÇ½é¤Î \(aq=\(aq °Ê¹ß¤Ï¤¹¤Ù¤ÆÃͤȤߤʤµ¤ì¤ë¡£\(aq=\(aq ¤¬¤Ê¤±¤ì¤Ð¡¢
46 ÃÍ¤Ï NULL ¤È²ò¼á¤µ¤ì¤ë¡£(ʸ»úÎó¤Î°ìÈֺǸå¤Îʸ»ú¤¬ \(aq=\(aq ¤Î¾ì¹ç¡¢Ãͤ϶õʸ»úÎó
49 ¤³¤ì¤é¤Î´Ø¿ô¤Ï envz vector ¤òÁàºî¤¹¤ë¤¿¤á¤Î¤â¤Î¤Ç¤¢¤ë¡£
53 .RI \&" name = value \&"
55 ¤¬ NULL ¤Ç¤Ê¤¤¾ì¹ç) ¤Þ¤¿¤Ï
60 .RI ( *envz ,\ *envz_len )
67 ¤ÈƱ¤¸Ì¾Á°¤ò»ý¤Ä¥¨¥ó¥È¥ê¤¬¤¢¤Ã¤¿¾ì¹ç¡¢¸µ¤Î¥¨¥ó¥È¥ê¤Ïºï½ü¤µ¤ì¤ë¡£
71 .RI ( envz ,\ envz_len )
74 ¤Î¥¨¥ó¥È¥ê¤ò¸¡º÷¤¹¤ë¡£
75 ¸«¤Ä¤«¤Ã¤¿¾ì¹ç¤Ï¤½¤Î¥¨¥ó¥È¥ê¤òÊÖ¤·¡¢¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï NULL ¤òÊÖ¤¹¡£
79 .RI ( envz ,\ envz_len )
82 ¤Î¥¨¥ó¥È¥ê¤ò¸¡º÷¤¹¤ë¡£
83 ¸«¤Ä¤«¤Ã¤¿¾ì¹ç¤Ï¥¨¥ó¥È¥ê¤ÎÃͤòÊÖ¤·¡¢¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï NULL ¤òÊÖ¤¹¡£
84 (ÃÍ¤Ï NULL ¤Î¾ì¹ç¤â¤¢¤ë¤³¤È¤ËÃí°Õ¤¹¤ë¤³¤È¡£Ì¾Á°¤¬
86 ¤Î¥¨¥ó¥È¥ê¤Ë \(aq=\(aq Éä¹æ¤¬¤Ê¤¤¾ì¹ç¤¬³ºÅö¤¹¤ë¡£)
101 Æâ¤ÎƱ¤¸Ì¾Á°¤ò¤â¤ÄÃͤϾå½ñ¤¤µ¤ì¤ë¡£
102 µ¶¤Î¾ì¹ç¤Ï¾å½ñ¤¤µ¤ì¤Ê¤¤¡£
108 .RI ( *envz ,\ *envz_len )
112 ¤Ï¡¢Ãͤ¬ NULL ¤Î¥¨¥ó¥È¥ê¤ò¤¹¤Ù¤Æºï½ü¤¹¤ë¡£
114 ¥á¥â¥ê³ä¤êÅö¤Æ¤ò¹Ô¤¦ envz ´Ø¿ô·²¤Ï¤¹¤Ù¤Æ \fIerror_t\fP ·¿¤ÎÊÖ¤êÃͤò»ý¤Ä¡£
115 À®¸ù¤·¤¿¾ì¹ç¤Ï 0 ¤òÊÖ¤·¡¢³ä¤êÅö¤Æ¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¤Ï
116 \fBENOMEM\fP ¤òÊÖ¤¹¡£
118 ¤³¤ì¤é¤Î´Ø¿ô¤Ï GNU ¤Ë¤è¤ë³ÈÄ¥¤Ç¤¢¤ë¡£Ãí°Õ¤·¤Æ»ÈÍѤ¹¤ë¤³¤È¡£
126 main(int argc, char *argv[], char *envp[])
131 for (i = 0; envp[i] != NULL; i++)
132 e_len += strlen(envp[i]) + 1;
134 str = envz_entry(*envp, e_len, "HOME");
135 printf("%s\en", str);
136 str = envz_get(*envp, e_len, "HOME");
137 printf("%s\en", str);