Changeset 6c455f37 in rtems
- Timestamp:
- 09/16/98 15:15:41 (25 years ago)
- Branches:
- 4.10, 4.11, 4.8, 4.9, 5, master
- Children:
- 6bd0fe4
- Parents:
- 433c5585
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/new_chapters/confspace.t
r433c5585 r6c455f37 123 123 The @code{cfg_mount} function maps a configuration space defined 124 124 by the file identified by the the @code{file} argument. The 125 distinguished node of the mapped configuration space shall be125 distinguished node of the mapped configuration space is 126 126 mounted in the active space at the point identified by the 127 127 @code{cfgpath} configuration pathname. 128 128 129 129 The @code{notification} argument specifies how changes to the 130 mapped configuration space shall be communicated to the application.131 If the @code{notification} argument is NULL, no notification shall130 mapped configuration space are communicated to the application. 131 If the @code{notification} argument is NULL, no notification will be 132 132 be performed for the mapped configuration space. If the Event 133 133 Logging option is defined, the notification argument defines the 134 facility to which changes in the mapped configuration space shall135 be logged. Otherwise, the @code{notification} argument shall 136 specifyan implementation defined method of notifying the application134 facility to which changes in the mapped configuration space are 135 logged. Otherwise, the @code{notification} argument specifies 136 an implementation defined method of notifying the application 137 137 of changes to the mapped configuration space. 138 138 … … 274 274 275 275 The @code{cfg_mknod} function creates a new node in the configuration 276 space which contains the pathname prefix of @code{cfgpath}. T he node 277 name shall be defined by the pathname suffix of @code{cfgpath}. The 278 node name shall be defined by the pathname suffix of @code{cfgpath}. 279 The node permissions shall be specified by the value of @code{mode}. 280 The node type shall be specified by the value of @code{type}. 276 space which contains the pathname prefix of @code{cfgpath}. The node 277 name is defined by the pathname suffix of @code{cfgpath}. The node 278 permissions are specified by the value of @code{mode}. The node type 279 is specified by the value of @code{type}. 281 280 282 281 @subheading NOTES: … … 476 475 477 476 The @code{src} and @code{dest}arguments point to pathnames which 478 name existing nodes. The @code{cfg_link} function shall atomically 479 create a link between specified nodes, and increment by one the link 480 count of the node specified by the @code{src} argument. 481 482 If the @code{cfg_link} function fails, no link shall be created, and 483 the link count of the node shall remain unchanged by this function 484 call. 477 name existing nodes. The @code{cfg_link} function atomically creates 478 a link between specified nodes, and increment by one the link count 479 of the node specified by the @code{src} argument. 480 481 If the @code{cfg_link} function fails, no link is created, and the 482 link count of the node remains unchanged by this function call. 485 483 486 484 This implementation may require that the calling process has permission … … 561 559 The @code{cfg_unlink} function removes the link between the node 562 560 specified by the @code{cfgpath} path prefix and the parent node 563 specified by @code{cfgpath}, and shall decrementthe link count561 specified by @code{cfgpath}, and decrements the link count 564 562 of the @code{cfgpath} node. 565 563 566 564 When the link count of the node becomes zero, the space occupied 567 by the node shall be freed and the node shallno longer be accessible.565 by the node is freed and the node is no longer be accessible. 568 566 569 567 @subheading NOTES: … … 613 611 @item EINVAL 614 612 Either both or neither of CFG_LOGICAL and CFG_PHYSICAL are 615 specified by the options argument ???????????613 specified by the options argument 616 614 617 615 @item ENOMEM … … 631 629 @subheading DESCRIPTION: 632 630 633 The @code{cfg_open} function shall opena configuration traversal stream631 The @code{cfg_open} function opens a configuration traversal stream 634 632 rooted in the configuration nodes name by the @code{pathnames} argument. 635 It s hall storea pointer to a CFG object that represents that stream at633 It stores a pointer to a CFG object that represents that stream at 636 634 the location identified the @code{cfgstream} pointer. The @code{pathnames} 637 635 argument is an array of character pointers to NULL-terminated strings. 638 The last member of this array shall bea NULL pointer.636 The last member of this array is a NULL pointer. 639 637 640 638 The value of @code{options} is the bitwise inclusive OR of values from the 641 following lists. Applications s hall supply exactly one of the first two642 valuesbelow in @code{options}.639 following lists. Applications supply exactly one of the first two values 640 below in @code{options}. 643 641 644 642 @table @b … … 647 645 When symbolic links referencing existing nodes are 648 646 encountered during the traversal, the @code{cfg_info} 649 field of the returned CFGENT structure shall describe650 t he target node pointed to by the link instead of the647 field of the returned CFGENT structure describes the 648 target node pointed to by the link instead of the 651 649 link itself, unless the target node does not exist. 652 650 If the target node has children, the pre-order return, 653 651 followed by the return of structures referencing all of 654 its descendants, followed by a post-order return, shall 655 be done. 652 its descendants, followed by a post-order return, is done. 656 653 657 654 @item CFG_PHYSICAL 658 655 When symbolic links are encountered during the traversal, 659 the @code{cfg_info} field shalldescribe the symbolic656 the @code{cfg_info} field is used to describe the symbolic 660 657 link. 661 658 … … 672 669 specified in the @code{pathnames} argument, the 673 670 @code{cfg_info} field of the returned CFGENT structure 674 shall describethe target node pointed to by the link671 describes the target node pointed to by the link 675 672 instead of the link itself, unless the target node does 676 673 not exist. If the target node has children, the … … 680 677 681 678 @item CFG_XDEV 682 The configuration space functions shallnot return a679 The configuration space functions do not return a 683 680 CFGENT structure for any node in a different configuration 684 681 space than the configuration space of the nodes identified … … 687 684 @end table 688 685 689 The @code{cfg_open} argument @code{compar} shall either beNULL or point690 to a function that shall becalled with two pointers to pointers to CFGENT691 structures that shall returnless than, equal to , or greater than zero if686 The @code{cfg_open} argument @code{compar} is either a NULL or point 687 to a function that is called with two pointers to pointers to CFGENT 688 structures that returns less than, equal to , or greater than zero if 692 689 the node referenced by the first argument is considered to be respectively 693 690 less than, equal to, or greater than the node referenced by the second. 694 The CFGENT structure fields provided to the comparison routine shall beas691 The CFGENT structure fields provided to the comparison routine is as 695 692 described with the exception that the contents of the @code{cfg_path} and 696 693 @code{cfg_pathlen} fields are unspecified. … … 700 697 of traversal when more than one node is specified in the @code{pathnames} 701 698 argument to @code{cfg_open}. If a comparison routine is specified, the 702 order of traversal shall be from the least to the greatest. If the703 @code{compar} argument is NULL, the order of traversal shall be as listed 704 in the@code{pathnames} argument.699 order of traversal is from the least to the greatest. If the @code{compar} 700 argument is NULL, the order of traversal shall be as listed in the 701 @code{pathnames} argument. 705 702 706 703 @subheading NOTES: … … 763 760 The @code{cfg_read} function returns a pointer to a CFGENT structure 764 761 representing a node in the configuration space to which @code{cfgp} 765 refers. The returned pointer shall be stored at the location766 indicatedby the @code{node} argument.762 refers. The returned pointer is stored at the location indicated 763 by the @code{node} argument. 767 764 768 765 The child nodes of each node in the configuration tree is returned 769 766 by @code{cfg_read}. If a comparison routine is specified to the 770 @code{cfg_open} function, the order of return of the child nodes shall771 beas specified by the routine, from least to greatest. Otherwise767 @code{cfg_open} function, the order of return of the child nodes is 768 as specified by the routine, from least to greatest. Otherwise 772 769 the order of return is unspecified. 773 770 774 Structures referencing nodes with children shall bereturned by the771 Structures referencing nodes with children is returned by the 775 772 function @code{cfg_read} at least twice [unless the application 776 773 specifies otherwise with @code{cfg_mark}]-once immediately before … … 779 776 of their descendants, if any, are returned (post-order). The 780 777 CFGENT structure returned in post-order (with the exception of the 781 @code{cfg_info} field) shall beidentical to that returned in pre-order.782 Structures referencing nodes of other types shall bereturned at least778 @code{cfg_info} field) is identical to that returned in pre-order. 779 Structures referencing nodes of other types is returned at least 783 780 once. 784 781 785 The fields of the CFGENT structure shall containthe following782 The fields of the CFGENT structure contains the following 786 783 information: 787 784 … … 792 789 @code{cfg_read} function for the node that contains 793 790 the entry for the current node. A @code{cfg_parent} 794 structure shall be provided for the node(s) specified795 bythe @code{pathnames} argument to the @code{cfg_open}791 structure is provided for the node(s) specified by 792 the @code{pathnames} argument to the @code{cfg_open} 796 793 function, but the contents of other than its 797 794 @code{cfg_number}, @code{cfg_pointer}, @code{cfg_parent}, … … 816 813 @item cfg_number 817 814 The @code{cfg_number} field is provided for use by the 818 application program. It shall beinitialized to zero for815 application program. It is initialized to zero for 819 816 each new node returned by the @code{cfg_read} function, 820 but shall not be further modifiedthe configuration space817 but is not further modified by the configuration space 821 818 routines. 822 819 823 820 @item cfg_pointer 824 821 The @code{cfg_pointer} field is provided for use by the 825 application program. It shall beinitialized to NULL for822 application program. It is initialized to NULL for 826 823 each new node returned by the @code{cfg_read} function, 827 but shall not befurther modified by the configuration824 but is not further modified by the configuration 828 825 space routines. 829 826 … … 832 829 argument supplied to the @code{cfg_open} routine for this 833 830 configuration space. This pathname may be longer than 834 @code{PATH_MAX} bytes. This pathname shall beNULL-terminated.831 @code{PATH_MAX} bytes. This pathname is NULL-terminated. 835 832 836 833 @item cfg_name … … 850 847 structure for each of the node(s) specified in the 851 848 @code{pathnames} argument to the @code{cfg_open} function 852 shall be set to 0, and this number shall be incremented for 853 for eachnode level descendant.849 is set to 0, and this number is incremented for each 850 node level descendant. 854 851 855 852 @item cfg_info 856 This field shall containone of the values listed below. If853 This field contains one of the values listed below. If 857 854 an object can have more than one info value, the first 858 appropriate value listed below shall bereturned.855 appropriate value listed below is returned. 859 856 860 857 @table @b … … 867 864 The structure represents a node that is a parent 868 865 of the node most recently returned by @code{cfg_read}. 869 The @code{cfg_cycle} field shall reference the870 structure previously returned by @code{cfg_read} that 871 is thesame as the returned structure.866 The @code{cfg_cycle} field references the structure 867 previously returned by @code{cfg_read} that is the 868 same as the returned structure. 872 869 873 870 @item CFG_DEFAULT … … 878 875 The structure represents a node, not of type symlink, 879 876 that is unreadable. The variable @code{cfg_errno} 880 shall beset to the appropriate value.877 is set to the appropriate value. 881 878 882 879 @item CFG_DP 883 880 The structure represents a node with children in 884 post-order. This value shall occuronly if CFG_D881 post-order. This value occurs only if CFG_D 885 882 has previously been returned for this entry. 886 883 887 884 @item CFG_ERR 888 885 The structure represents a node for which an error has 889 occurred. The variable @code{cfg_errno} shall be set890 to theappropriate value.886 occurred. The variable @code{cfg_errno} is set to the 887 appropriate value. 891 888 892 889 @item CFG_F … … 906 903 907 904 Structures returned by @code{cfg_read} with a @code{cfg_info} field equal 908 to CFG_D shall beaccessible until a subsequent call, on the same905 to CFG_D is accessible until a subsequent call, on the same 909 906 configuration traversal stream, to @code{cfg_close}, or to @code{cfg_read} 910 907 after they have been returned by the @code{cfg_read} function in 911 908 post-order. Structures returned by @code{cfg_read} with an 912 @code{cfg_info} field not equal to CFG_D shall be accessible until a913 subsequent call, on the same configuration traversal stream, to 914 @code{cfg_close}or @code{cfg_read}.909 @code{cfg_info} field not equal to CFG_D is accessible until a subsequent 910 call, on the same configuration traversal stream, to @code{cfg_close} 911 or @code{cfg_read}. 915 912 916 913 The content of the @code{cfg_path} field is specified only for the … … 919 916 The specified fields in structures in the list representing nodes for 920 917 which structures have previously been returned by @code{cfg_children}, 921 shall beidentical to those returned by @code{cfg_children}, except that918 is identical to those returned by @code{cfg_children}, except that 922 919 the contents of the @code{cfg_path} and @code{cfg_pathlen} fields are 923 920 unspecified. … … 979 976 @subheading DESCRIPTION: 980 977 981 The first @code{cfg_children} call after a @code{cfg_read} shall 982 return information about the first node without children under the 983 node returned by @code{cfg_read}. Subsequent calls to 984 @code{cfg_children} without the intervening @code{cfg_read} shall 985 return information about the remaining nodes without children under 986 that same node. 978 The first @code{cfg_children} call after a @code{cfg_read} returns 979 information about the first node without children under the node 980 returned by @code{cfg_read}. Subsequent calls to @code{cfg_children} 981 without the intervening @code{cfg_read} shall return information 982 about the remaining nodes without children under that same node. 987 983 988 984 If @code{cfg_read} has not yet been called for the configuration 989 985 traversal stream represented by @code{cfgp}, @code{cfg_children} 990 shall returna pointer to the first entry in a list of the nodes986 returns a pointer to the first entry in a list of the nodes 991 987 represented by the @code{pathnames} argument to @code{cfg_open}. 992 988 993 In either case, the list shall beNULL-terminated, ordered by the989 In either case, the list is NULL-terminated, ordered by the 994 990 user-specified comparison function, if any, and linked through the 995 991 cfg_link field. … … 1039 1035 by the structure pointed to by the argument @code{cfgp}. 1040 1036 1041 Exactly one of the @code{f} argument and the @code{cfgp} argument shall 1042 be NULL. 1043 1044 The value of the @code{options} argument shall be exactly one of the 1045 flags specified in the following list: 1037 Exactly one of the @code{f} argument and the @code{cfgp} argument is NULL. 1038 1039 The value of the @code{options} argument is exactly one of the flags 1040 specified in the following list: 1046 1041 1047 1042 @table @b … … 1051 1046 argument is NULL, or the structure referenced by @code{f} 1052 1047 is not the one most recently returned by @code{cfg_read}, 1053 @code{cfg_mark} shall returnan error. Otherwise, the next1054 call to the @code{cfg_read} function shall return the1055 structure referenced by @code{f} with the @code{cfg_info} 1056 fieldreinitialized. Subsequent behavior of the @code{cfg}1057 functions shall be based on the reinitialized value of1048 @code{cfg_mark} returns an error. Otherwise, the next 1049 call to the @code{cfg_read} function returns the structure 1050 referenced by @code{f} with the @code{cfg_info} field 1051 reinitialized. Subsequent behavior of the @code{cfg} 1052 functions are based on the reinitialized value of 1058 1053 @code{cfg_info}. 1059 1054 … … 1063 1058 is not one of those specified as accessible, or the structure 1064 1059 referenced by @code{f} is not for a node of type pre-order 1065 node, @code{cfg_mark} shall returnan error. Otherwise, no1060 node, @code{cfg_mark} returns an error. Otherwise, no 1066 1061 more structures for the node referenced by @code{f} or its 1067 descendants shall be returned by the @code{cfg_read} function.1062 descendants are returned by the @code{cfg_read} function. 1068 1063 1069 1064 @item CFG_FOLLOW … … 1072 1067 is not one of those specified as accessible, or the structure 1073 1068 referenced by @code{f} is not for a node of type symbolic link, 1074 @code{cfg_mark} shall returnan error. Otherwise, the next1075 call to the @code{cfg_read} function shall returnthe structure1069 @code{cfg_mark} returns an error. Otherwise, the next 1070 call to the @code{cfg_read} function returns the structure 1076 1071 referenced by @code{f} with the @code{cfg_info} field reset 1077 1072 to reflect the target of the symbolic link instead of the
Note: See TracChangeset
for help on using the changeset viewer.