1*910382afSGarrett D'Amore# 2*910382afSGarrett D'Amore# This file and its contents are supplied under the terms of the 3*910382afSGarrett D'Amore# Common Development and Distribution License ("CDDL"), version 1.0. 4*910382afSGarrett D'Amore# You may only use this file in accordance with the terms of version 5*910382afSGarrett D'Amore# 1.0 of the CDDL. 6*910382afSGarrett D'Amore# 7*910382afSGarrett D'Amore# A full copy of the text of the CDDL should have accompanied this 8*910382afSGarrett D'Amore# source. A copy of the CDDL is also available via the Internet at 9*910382afSGarrett D'Amore# http://www.illumos.org/license/CDDL. 10*910382afSGarrett D'Amore# 11*910382afSGarrett D'Amore 12*910382afSGarrett D'Amore# 13*910382afSGarrett D'Amore# Copyright 2015 Garrett D'Amore <garrett@damore.org> 14*910382afSGarrett D'Amore# 15*910382afSGarrett D'Amore 16*910382afSGarrett D'AmoreThe configuration files in this directory are structured using the 17*910382afSGarrett D'Amoresyntax defined in the ../README file. They make use of the compilation 18*910382afSGarrett D'Amoreenvironments declared in ../compilation.cfg, and are processed by the 19*910382afSGarrett D'Amoresymbols test. 20*910382afSGarrett D'Amore 21*910382afSGarrett D'AmoreWe have organized the files by header file, that is the tests for symbols 22*910382afSGarrett D'Amoredeclared in a header file (e.g. <unistd.h> appear in a file based on that 23*910382afSGarrett D'Amoreheader file's name (e.g. unistd_h.cfg.) This is purely for convenience. 24*910382afSGarrett D'Amore 25*910382afSGarrett D'AmoreWithin these various declarations, we have the following field types: 26*910382afSGarrett D'Amore 27*910382afSGarrett D'Amore<envs> This is a list of compilation environments where the symbol 28*910382afSGarrett D'Amore should be legal. To indicate that the symbol must not be legal 29*910382afSGarrett D'Amore an environment group can be prefixed with "-". For example, 30*910382afSGarrett D'Amore "SUS+ -SUSv4+" indicates a symbol that is legal in all SUS 31*910382afSGarrett D'Amore environments up to SUSv3, and was removed in SUSv4 and subsequent 32*910382afSGarrett D'Amore versions of SUS. As you can see, we can list multiple environments 33*910382afSGarrett D'Amore or environment groups, and we can add or remove to previous groups 34*910382afSGarrett D'Amore with subsequent ones. 35*910382afSGarrett D'Amore 36*910382afSGarrett D'Amore<name> This is a symbol name. It follows the rules for C symbol names. 37*910382afSGarrett D'Amore 38*910382afSGarrett D'Amore<header> This is a header file, for example, unistd.h. Conventionally, 39*910382afSGarrett D'Amore the header files used should match the file where the test is 40*910382afSGarrett D'Amore declared. 41*910382afSGarrett D'Amore 42*910382afSGarrett D'Amore<type> This is a C type. Function types can be declared without their 43*910382afSGarrett D'Amore names, e.g. "void (*)(int)". Structures (e.g. "struct stat") and 44*910382afSGarrett D'Amore pointer types (e.g. "pthead_t *") are legal as well. 45*910382afSGarrett D'Amore 46*910382afSGarrett D'AmoreHere are the types of declarations in these files: 47*910382afSGarrett D'Amore 48*910382afSGarrett D'Amoretype | <name> | <header> | <envs> 49*910382afSGarrett D'Amore 50*910382afSGarrett D'Amore Tests for a C type with <name>. The test verifies that a variable with 51*910382afSGarrett D'Amore this type can be declared when the <header> is included. 52*910382afSGarrett D'Amore 53*910382afSGarrett D'Amorevalue | <name> | <type> | <header> | <envs> 54*910382afSGarrett D'Amore 55*910382afSGarrett D'Amore Tests for a value named <name>, of type <type>. The test attempts to 56*910382afSGarrett D'Amore assign the given value to a scratch variable declared with the given 57*910382afSGarrett D'Amore type. The value can be a macro or other C symbol. 58*910382afSGarrett D'Amore 59*910382afSGarrett D'Amorefunc | <name> | <type> | <type> [; <type> ]... | <header> | <envs> 60*910382afSGarrett D'Amore 61*910382afSGarrett D'Amore Tests whether a function <name>, returning the first <type>, and 62*910382afSGarrett D'Amore taking arguments of following <type> values, is declared. Note that 63*910382afSGarrett D'Amore the argument types are separated by semicolons. For varargs style 64*910382afSGarrett D'Amore functions, leave out the ... part. For function declarations 65*910382afSGarrett D'Amore that have no declared arguments, either void can specified, or 66*910382afSGarrett D'Amore the type list can be omitted. 67*910382afSGarrett D'Amore 68*910382afSGarrett D'AmoreExamples: 69*910382afSGarrett D'Amore 70*910382afSGarrett D'Amore type | size_t | sys/types.h | ALL 71*910382afSGarrett D'Amore value | NULL | void * | stdlib.h | ALL 72*910382afSGarrett D'Amore func strnlen | int | const char *; int | string.h | ALL 73