.\" gd_validate.3. The gd_validate man page. .\" .\" Copyright (C) 2009, 2010 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 "3 November 2010" "Version 0.7.0" "GETDATA" .SH NAME gd_validate \(em check a dirfile field code for validity .SH SYNOPSIS .B #include .HP .nh .ad l .BI "int gd_validate(DIRFILE *" dirfile ", const char *" field_code ); .hy .ad n .SH DESCRIPTION The .BR gd_validate () function queries a dirfile(5) database specified by .I dirfile and checks whether .IR field_code , which may contain a representation suffix, specifies a valid field. The .I dirfile argument must point to a valid DIRFILE object previously created by a call to .BR gd_open (3). This function checks whether the field and its input fields (if any) are found, whether the representation suffix (if any) is valid, and also that all non-literal parameters specify valid scalar fields. .SH RETURN VALUE If all checks pass, .BR gd_validate () returns zero. On error, it returns -1 and sets the dirfile error to a non-zero error value. Possible error values are: .TP 8 .B GD_E_BAD_CODE The field specified by .I field_code or one of the fields it uses as input was not found in the database. .TP .B GD_E_BAD_DIRFILE The supplied dirfile was invalid. .TP .B GD_E_BAD_REPR The representation suffix specified in .I field_code was not recognised. .TP .B 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. .TP .B GD_E_DIMENSION A scalar field was found where a vector field was expected. .TP .B GD_E_RECURSE_LEVEL Too many levels of recursion were encountered while trying to resolve .IR field_code . This usually indicates a circular dependency in field specification in the dirfile. .PP The dirfile error may be retrieved by calling .BR gd_error (3). A descriptive error string for the last error encountered can be obtained from a call to .BR gd_error_string (3). .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 SEE ALSO .BR dirfile (5), .BR gd_getdata (3), .BR gd_error (3), .BR gd_error_string (3), .BR gd_open (3)