.\" header.tmac. GetData manual macros. .\" .\" Copyright (C) 2016 D. V. Wiebe .\" .\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" .\" .\" This file is part of the GetData project. .\" .\" Permission is granted to copy, distribute and/or modify this document .\" under the terms of the GNU Free Documentation License, Version 1.2 or .\" any later version published by the Free Software Foundation; with no .\" Invariant Sections, with no Front-Cover Texts, and with no Back-Cover .\" Texts. A copy of the license is included in the `COPYING.DOC' file .\" as part of this distribution. .\" Format a function name with optional trailer: func_name()trailer .de FN \" func_name [trailer] .nh .BR \\$1 ()\\$2 .hy .. .\" Format a reference to section 3 of the manual: name(3)trailer .de F3 \" func_name [trailer] .nh .BR \\$1 (3)\\$2 .hy .. .\" Format the header of a list of definitons .de DD \" name alt... .ie "\\$2"" \{ \ .TP 8 .PD .B \\$1 \} .el \{ \ .PP .B \\$1 .PD 0 .DD \\$2 \\$3 \} .. .\" Start a code block: Note: groff defines an undocumented .SC for .\" Bell Labs man legacy reasons. .de SC .fam C .na .nh .. .\" End a code block .de EC .hy .ad .fam .. .\" Format a structure pointer member: struct->member\fRtrailer .de SPM \" struct member trailer .nh .ie "\\$3"" .IB \\$1 ->\: \\$2 .el .IB \\$1 ->\: \\$2\fR\\$3 .hy .. .\" Format a function argument .de ARG \" name trailer .nh .ie "\\$2"" .I \\$1 .el .IR \\$1 \\$2 .hy .. .\" Hyphenation exceptions .hw sarray carray lincom linterp .\" gd_validate.3. The gd_validate man page. .\" .\" Copyright (C) 2009, 2010, 2011, 2016 D.V. Wiebe .\" .\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" .\" .\" This file is part of the GetData project. .\" .\" Permission is granted to copy, distribute and/or modify this document .\" under the terms of the GNU Free Documentation License, Version 1.2 or .\" any later version published by the Free Software Foundation; with no .\" Invariant Sections, with no Front-Cover Texts, and with no Back-Cover .\" Texts. A copy of the license is included in the `COPYING.DOC' file .\" as part of this distribution. .\" .TH gd_validate 3 "25 December 2016" "Version 0.10.0" "GETDATA" .SH NAME gd_validate \(em check a Dirfile field code for validity .SH SYNOPSIS .SC .B #include .HP .BI "int gd_validate(DIRFILE *" dirfile ", const char *" field_code ); .EC .SH DESCRIPTION The .FN gd_validate function queries a dirfile(5) database specified by .ARG dirfile and checks whether .ARG field_code , which may contain a representation suffix, specifies a valid field. The .ARG dirfile argument must point to a valid DIRFILE object previously created by a call to .F3 gd_open . This function checks whether the field and its input fields (if any) are found, and also that all non-literal parameters specify valid scalar fields. .SH RETURN VALUE If all checks pass, .FN gd_validate returns zero. On error, it returns a negative-valued error code. Possible error codes are: .DD GD_E_BAD_CODE The field specified by .ARG field_code or one of the fields it uses as input was not found in the database. .DD GD_E_BAD_DIRFILE The supplied dirfile was invalid. .DD GD_E_BAD_SCALAR A non-literal scalar used in the definition of the field or one of its inputs was not found, or was not a .B CONST or .B CARRAY field. .DD GD_E_DIMENSION A scalar field was found where a vector field was expected. .PP The error code is also stored in the .B DIRFILE object and may be retrieved after this function returns by calling .F3 gd_error . A descriptive error string for the error may be obtained by calling .F3 gd_error_string . .SH NOTES It is not necessary to call this function before passing a field code to another GetData function: all functions which accept field codes perform these checks themselves. .SH HISTORY The .F3 dirfile_validate function appared in GetData-0.6.0. In GetData-0.7.0, this function was renamed to .F3 gd_validate . In GetData-0.10.0, the error return from this function changed from -1 to a negative-valued error code. .SH SEE ALSO .F3 gd_error , .F3 gd_error_string , .F3 gd_getdata , .F3 gd_open , dirfile(5)