Re:
From an earlier description you posted, I was guessing that you were
opening a NEW file of your own (e.g., I2.IN.HPSPOOL).
(Because your post said foptions were 0) Sounds like I was right.
You can't FOPEN an existing #I file.
> processes (such as the files in IN.HPSPOOL) I get a 45 error code on those
> files (privmode error, even though the program is calling getprivmode prior to
> the fopen call).
There are at least THREE reasons you can get an FSERR 45.
1) you aren't in privmode
... most common
2) you didn't supply the matching negative filecode
... fairly common
3) you didn't supply the correct priv level via HPFOPEN
... nearly unknown to users :)
> I only need to fopen (no fread required) and then do ffileinfo (which
> requires the file to be open which is the only reason I am doing the fopen in the
> first place.)
>
> Any suggestions would be appreciated.
Use flabelinfo?
Ok ... so you really want to open a #I file for reading.
You have to call HPFOPEN, foptions = 0, aoptions = %300 (usually),
and specify the correct privlevel.
Here's an example showing the priv level of a typical #I file...
:listfile i2.in.hpspool,-3
********************
FILE: I2.IN.HPSPOOL
FILE CODE : 1515 FOPTIONS: ASCII,VARIABLE,NOCCTL,SPOOL
BLK FACTOR: 1 CREATOR : OPERATOR.SYS
REC SIZE: 1008(BYTES) LOCKWORD:
BLK SIZE: 1024(BYTES) SECURITY--READ : CR
EXT SIZE: 0(SECT) WRITE : CR
NUM REC: 8 APPEND : CR
NUM SEC: 16 LOCK : CR
NUM EXT: 1 EXECUTE : CR
MAX REC: 1 **SECURITY IS ON ,NOBACKUP
FLAGS : 3 ACCESSORS,SHARED,3 R
NUM LABELS: 0 CREATED : TUE, NOV 1, 2005, 6:46 PM
MAX LABELS: 0 MODIFIED: TUE, NOV 1, 2005, 6:46 PM
DISC DEV #: 1 ACCESSED: TUE, NOV 1, 2005, 6:46 PM
SEC OFFSET: 0 LABEL ADDR: $00000011.$0001B920
VOLCLASS : MPEXL_SYSTEM_VOLUME_SET:DISC
Note that label address.
:debug
DEBUG/iX C.16.01
...
symopen symos.osC16.telesup
$3f ($52) nmdebug > fv $00000011.$0001B920 "flab_t"
RECORD
VERSION : 0
FILE_FLAGS :
TEMP_FILE : TRUE
RELEASED : FALSE
IGNORE_PATH : FALSE
NO_BACKUP : TRUE
RESTORE : FALSE
STORE : FALSE
PURGE_PENDING : FALSE
PROTECTED : FALSE
LANG : 0
ASCII_EXO_RESTRICTION : 'DISC 1'
PRIV_IN : 0
PRIV_OUT : 0
(ignore the above two, keep looking...)
FILE_NAME : 'I2 '
GROUP1 :
NAME : 'IN '
MASK :
READ : FALSE
WRITE : FALSE
EXECUTE : FALSE
APPEND : FALSE
LOCK : FALSE
SAVE : FALSE
UPDATE : FALSE
DIR_READ : FALSE
GROUP2 :
NAME : 'HPSPOOL '
MASK :
READ : FALSE
WRITE : FALSE
EXECUTE : FALSE
APPEND : FALSE
LOCK : FALSE
SAVE : FALSE
UPDATE : FALSE
DIR_READ : FALSE
LOCKWORD : ' '
CREATOR :
NAME : 'OPERATORSYS '
MASK :
READ : TRUE
WRITE : TRUE
EXECUTE : TRUE
APPEND : TRUE
LOCK : TRUE
SAVE : FALSE
UPDATE : FALSE
DIR_READ : FALSE
WORLD :
READ : FALSE
WRITE : FALSE
EXECUTE : FALSE
APPEND : FALSE
LOCK : FALSE
SAVE : TRUE
UPDATE : FALSE
DIR_READ : FALSE
ACCT_LIB_MASK :
READ : FALSE
WRITE : FALSE
EXECUTE : FALSE
APPEND : FALSE
LOCK : FALSE
SAVE : FALSE
UPDATE : FALSE
DIR_READ : FALSE
GROUP_LIB_MASK :
READ : FALSE
WRITE : FALSE
EXECUTE : FALSE
APPEND : FALSE
LOCK : FALSE
SAVE : FALSE
UPDATE : FALSE
DIR_READ : FALSE
MISC_FLAGS :
ACD_REQUIRED : FALSE
S_ISUID : FALSE
S_ISGID : FALSE
PURGE_PROTECT : FALSE
HSM_COMPRESSED : FALSE
HSM_MIGRATED : FALSE
FILLER : 0
EXO_RESTRICTION :
EXO_SPLIT : 0
EXO_RESTRICTION : 4
EXO_TS0 : 58
EXO_INDEX : 1
EXO_TS1 :
DAY : 44
HOUR : 8
MINUTE : 10
SECOND : 1d
TENTHS : 9
DIRC_LINK_CNT : 2
FOPTIONS :
FILL_BITS : 0
REC_FORMATX : 0
FILE_TYPE : 5
FILE_EQ : 1
LABELED : 0
CONTROL : 0
REC_FORMAT : 1
DEFAULT_DESIG : 0
ASCII : 1
DOMAIN : 1
FILE_DESC :
DEVICE_TYPE : 0
DEVICE_SUB_TYPE : 0
FILE_TYPE : 5
RECORD_TYPE : 1
ACCESS_METHOD : 0
FAKE_Q_ERROR : 0
PRIV_LEVEL : 2
bingo!
FILLER3 : 0
TIME_STAMPS :
CREATED : 404855fe10941
ALLOCATED : 404855fe10941
ACCESSED : 404855fe10941
WRITTEN : 404855fe28cbc
EOF_OFFSET : 400
SECTORS_IN_FILE : 10
LOGICAL_FILE_REC_LIMIT : 1
LOGICAL_END_OF_DATA_REC : 8
END_OF_FILE_BLOCK : 0
MSG_OPEN_REC_CNT : 0
MSG_FIRST_BLK_NUM : 0
FILE_LIMIT : 400
USER_LABEL_EOF : 0
USER_LABEL_CNT : 0
SOF_OFFSET : 0
SONR_OFFSET : 0
REC_SIZE : 3f0
BLOCK_SIZE : 400
BLOCK_FACTOR : 1
FIRST_BLOCK_OFFSET : 0
EXTENT_SIZE : 0
EXTENTS_IN_FILE : 0
LAST_EXTENT_SIZE : 0
FILE_CODE : 5eb
...
So, you specify the HPFOPEN option 38 with a value of 2.
This is one of the cases where FOPEN can't be used successfully.
Stan
* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *
|