/* <fscndef.h> * * $FILESCAN definitions */ #ifndef _FSCNDEF_H #define _FSCNDEF_H /* filename component return bit mask values */ #define FSCN$V_NODE 0 #define FSCN$V_DEVICE 1 #define FSCN$V_ROOT 2 #define FSCN$V_DIRECTORY 3 #define FSCN$V_NAME 4 #define FSCN$V_TYPE 5 #define FSCN$V_VERSION 6 #ifndef NO_VMS_V6 #define FSCN$V_NODE_PRIMARY 7 #define FSCN$V_NODE_ACS 8 #define FSCN$V_NODE_SECONDARY 9 #endif #define FSCN$M_NODE (1<<FSCN$V_NODE) /* 0x01 */ #define FSCN$M_DEVICE (1<<FSCN$V_DEVICE) /* 0x02 */ #define FSCN$M_ROOT (1<<FSCN$V_ROOT) /* 0x04 */ #define FSCN$M_DIRECTORY (1<<FSCN$V_DIRECTORY) /* 0x08 */ #define FSCN$M_NAME (1<<FSCN$V_NAME) /* 0x10 */ #define FSCN$M_TYPE (1<<FSCN$V_TYPE) /* 0x20 */ #define FSCN$M_VERSION (1<<FSCN$V_VERSION) /* 0x40 */ #ifndef NO_VMS_V6 #define FSCN$M_NODE_PRIMARY (1<<FSCN$V_NODE_PRIMARY) /* 0x0080 */ #define FSCN$M_NODE_ACS (1<<FSCN$V_NODE_ACS) /* 0x0100 */ #define FSCN$M_NODE_SECONDARY (1<<FSCN$V_NODE_SECONDARY) /* 0x0200 */ #endif struct fscn_fldflags { unsigned fscn$v_node : 1; /* node name present */ unsigned fscn$v_device : 1; /* device name present */ unsigned fscn$v_root : 1; /* root directory present */ unsigned fscn$v_directory : 1; /* directory present */ unsigned fscn$v_name : 1; /* file name present */ unsigned fscn$v_type : 1; /* file type present */ unsigned fscn$v_version : 1; /* file version present */ #ifndef NO_VMS_V6 unsigned fscn$v_node_primary : 1; unsigned fscn$v_node_acs : 1; unsigned fscn$v_node_secondary : 1; unsigned : 22; /* padding */ #else unsigned : 25; /* padding */ #endif }; /* item codes */ #define FSCN$_FILESPEC 1 /* complete filespec */ #define FSCN$_NODE 2 /* node:: field */ #define FSCN$_DEVICE 3 /* device: field */ #define FSCN$_ROOT 4 /* [root.] field */ #define FSCN$_DIRECTORY 5 /* [directory] field */ #define FSCN$_NAME 6 /* name field */ #define FSCN$_TYPE 7 /* .typ field */ #define FSCN$_VERSION 8 /* ;version field */ #define FSCN$S_ITEM_LEN 8 /* itemlist structure */ struct fscndef { unsigned short fscn$w_length; /* return length word */ unsigned short fscn$w_item_code; /* item code value */ char *fscn$l_addr; /* component address */ }; #endif /*_FSCNDEF_H*/