95 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
| .\"
 | |
| .\" Copyright (c) 1998 Jordan Hubbard
 | |
| .\"
 | |
| .\" All rights reserved.
 | |
| .\"
 | |
| .\" Redistribution and use in source and binary forms, with or without
 | |
| .\" modification, are permitted provided that the following conditions
 | |
| .\" are met:
 | |
| .\" 1. Redistributions of source code must retain the above copyright
 | |
| .\"    notice, this list of conditions and the following disclaimer.
 | |
| .\" 2. Redistributions in binary form must reproduce the above copyright
 | |
| .\"    notice, this list of conditions and the following disclaimer in the
 | |
| .\"    documentation and/or other materials provided with the distribution.
 | |
| .\"
 | |
| .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
 | |
| .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 | |
| .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 | |
| .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
 | |
| .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
 | |
| .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 | |
| .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 | |
| .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 | |
| .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 | |
| .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 | |
| .\"
 | |
| .\" %FreeBSD: src/lib/libutil/property.3,v 1.8.2.7 2001/12/17 10:08:32 ru Exp %
 | |
| .\" $FreeBSD$
 | |
| .\" "
 | |
| .Dd October 7, 1998
 | |
| .Os
 | |
| .Dt PROPERTIES 3
 | |
| .Sh 名称
 | |
| .Nm properties_read ,
 | |
| .Nm propery_find ,
 | |
| .Nm properties_free
 | |
| .Nd 単純なプロパティリストを ASCII から作成する関数
 | |
| .Sh 書式
 | |
| .In sys/types.h
 | |
| .In libutil.h
 | |
| .Ft properties
 | |
| .Fn properties_read "int fd"
 | |
| .Ft char *
 | |
| .Fn property_find "properties list" "const char *name"
 | |
| .Ft void
 | |
| .Fn properties_free "properties list"
 | |
| .Sh 解説
 | |
| .Bd -literal
 | |
| typedef struct _properties {
 | |
| 	struct _properties *next;
 | |
| 	char *name;
 | |
| 	char *value;
 | |
| } *properties;
 | |
| .Ed
 | |
| .Pp
 | |
| 関数
 | |
| .Fn properties_read
 | |
| は、
 | |
| .Fa fd
 | |
| で渡されたファイル記述子から名前と値のペアを読み込み、
 | |
| ファイルの内容が適切に分析されたものとして新しい
 | |
| プロパティリストのヘッドを戻します。エラーが発生した場合は
 | |
| NULL が返されます。
 | |
| 返される値は、最大長
 | |
| .Dv PROPERTY_MAX_VALUE
 | |
| バイトまでです。
 | |
| .Pp
 | |
| .Fn property_find
 | |
| は、
 | |
| .Fa name
 | |
| という名前のプロパティの関連値ストリングを
 | |
| 戻します。このプロパティが見つからない場合は
 | |
| NULL を戻します。
 | |
| .Pp
 | |
| .Fn properties_free
 | |
| は、
 | |
| .Fn properties_read
 | |
| が戻した構造体が必要なくなった
 | |
| 場合にそれを解放します。
 | |
| .Sh ファイル形式
 | |
| ファイルの各プロパティは、
 | |
| .Fa name = value
 | |
| というフォーマットになっていると
 | |
| 想定されます。
 | |
| .Fa name
 | |
| は英数字文字列 (および `=' 以外の特殊文字) です。
 | |
| .Fa value
 | |
| は、改行文字で終わる、テキストの任意のストリングです。改行する
 | |
| 場合は、値全体を { } で囲む必要があります。# か ; で始まる行は
 | |
| コメントとみなされて無視されます。
 | |
| .Sh 関連項目
 | |
| .Xr auth_getval 3
 | |
| .Sh バグ
 | |
| 単純です。
 | |
| .Sh 作者
 | |
| .An Jordan Hubbard
 |