Adds a file system type to the gfs table.
#include <sys/types.h> #include <sys/errno.h> int gfsadd ( gfsno, gfsp) int gfsno; struct gfs *gfsp;
| Item | Description | 
|---|---|
| gfsno | Specifies the file system number. This small integer value is either defined in the /usr/include/sys/vmount.h file or a user-defined number of the same order. | 
| gfsp | Points to the file system description structure. | 
The gfsadd kernel service is used during configuration of a file system. The configuration routine for a file system invokes the gfsadd kernel service with a gfs structure. This structure describes the file system type.
The gfs structure type is defined in the /usr/include/sys/gfs.h file. The gfs structure must have the following fields filled in:
| Field | Description | 
|---|---|
| gfs_type | Specifies the integer type value. The predefined types are listed in the /usr/include/sys/vmount.h file. | 
| gfs_name | Specifies the character string name of the file system. The maximum length of this field is 16 bytes. Shorter names must be null-padded. | 
| gfs_flags |   Specifies the flags that define the capabilities of the file
system.  The  following flag values are defined:  
  | 
 
  | 
|
| gfs_ops | Specifies the array of pointers to vfs operation implementations. | 
| gn_ops | Specifies the array of pointers to v-node operation implementations. | 
The file system description structure can also specify:
| Item | Description | 
|---|---|
| gfs_init | Points to an initialization routine to be called by the gfsadd kernel service. This field must be null if no initialization routine is to be called. | 
| gfs_data | Points to file system private data. | 
The gfsadd kernel service can be called from the process environment only.
| Item | Description | 
|---|---|
| 0 | Indicates successful completion. | 
| EBUSY | Indicates that the file system type has already been installed. | 
| EINVAL | Indicates that the gfsno value is larger than the system-defined maximum. The system-defined maximum is indicated in the /usr/include/sys/vmount.h file. |