1.\" Copyright (c) 2003 Networks Associates Technology, Inc. 2.\" All rights reserved. 3.\" 4.\" This software was developed for the FreeBSD Project by Chris 5.\" Costello at Safeport Network Services and Network Associates 6.\" Laboratories, the Security Research Division of Network Associates, 7.\" Inc. under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part 8.\" of the DARPA CHATS research program. 9.\" 10.\" Redistribution and use in source and binary forms, with or without 11.\" modification, are permitted provided that the following conditions 12.\" are met: 13.\" 1. Redistributions of source code must retain the above copyright 14.\" notice, this list of conditions and the following disclaimer. 15.\" 2. Redistributions in binary form must reproduce the above copyright 16.\" notice, this list of conditions and the following disclaimer in the 17.\" documentation and/or other materials provided with the distribution. 18.\" 19.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND 20.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 21.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 22.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE 23.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 24.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 25.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 26.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 28.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 29.\" SUCH DAMAGE. 30.\" 31.\" $FreeBSD$ 32.\" 33.Dd January 7, 2003 34.Os 35.Dt BSDE_PARSE_RULE 3 36.Sh NAME 37.Nm bsde_parse_rule , 38.Nm bsde_parse_rule_string 39.Nd "parse file system firewall rules" 40.Sh LIBRARY 41.Lb libugidfw 42.Sh SYNOPSIS 43.In ugidfw.h 44.Ft int 45.Fo bsde_parse_rule 46.Fa "int argc" "char *argv[]" "struct mac_bsdextended_rule *rule" 47.Fa "size_t buflen" "char *errstr" 48.Fc 49.Ft int 50.Fo bsde_parse_rule_string 51.Fa "const char *string" "struct mac_bsdextended_rule *rule" 52.Fa "size_t buflen" "char *errstr" 53.Fc 54.Sh DESCRIPTION 55The 56.Fn bsde_parse_rule 57function parses an argument vector 58(e.g.\& 59.Fa argv 60as passed to 61.Fn main ) 62into 63.Fa rule . 64If an error occurs, 65.Fa *errstr 66is filled in with the error string 67(up to 68.Fa errlen 69characters, including the terminating 70.Dv NUL ) . 71.Pp 72The 73.Fn bsde_parse_rule_string 74function is identical to 75.Fn bsde_parse_rule , 76except that it parses a single string rather than an array of arguments. 77.Sh RETURN VALUES 78The 79.Fn bsde_parse_rule_string 80and 81.Fn bsde_parse_rule 82functions return 0 if successful; 83otherwise the value \-1 is returned and the value of 84.Fa *errstr 85is filled in as documented in 86.Sx DESCRIPTION . 87.Sh SEE ALSO 88.Xr bsde_delete_rule 3 , 89.Xr bsde_get_rule 3 , 90.Xr bsde_get_rule_count 3 , 91.Xr bsde_get_rule_slots 3 , 92.Xr bsde_rule_to_string 3 , 93.Xr bsde_set_rule 3 , 94.Xr libugidfw 3 , 95.Xr mac_bsdextended 4 , 96.Xr ugidfw 8 97.Sh AUTHORS 98This software was contributed to the 99.Fx 100Project by Network Associates Labs, 101the Security Research Division of Network Associates 102Inc. 103under DARPA/SPAWAR contract N66001-01-C-8035 104.Pq Dq CBOSS , 105as part of the DARPA CHATS research program. 106