Re: Fwd: [HP3000-L] Max Extents and Extents size from intrinsic FFILEINFO



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 *

.



Relevant Pages

  • Re: security violation
    ... APPEND: AC ... LOCK: ANY ... EXECUTE: ANY ... To join/leave the list, search archives, change list settings, * ...
    (comp.sys.hp.mpe)
  • Re: MPE Security Violation error
    ... a listf,4 on the database root file, from the user that gets ... LOCK: ANY ... EXECUTE: ANY ... To join/leave the list, search archives, change list settings, * ...
    (comp.sys.hp.mpe)
  • Re: a few issues with events
    ... the compiler or JIT engine should always be able to check if a thing is null and just not execute the code using the null reference. ... Of course, this would lead to problems where code silently fails when a reference is null, in many cases simply not executing code that's very important to execute. ... you should never lock on "this" anyway. ... If you want a thread blocked on Jointo process messages, you will probably have to use p/invoke to get at the SendMessagefunction directly, and also override the WndProc method in your Form class so that you can receive the message sent by SendMessage. ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: per cpun+ spin locks coexistence?
    ... You cannot switch to another processor in schedule_work, ... structures to be freed and then have to protect it by a global lock. ... Two CPUs doing fdtable free operations simultaneously will ... schedule_workis guaranteed to execute the work queue at least once, ...
    (Linux-Kernel)
  • Re: windows (vb.net 1.1) service - threading issue
    ... new thread seems to try and also tries to execute Timer1.Stop. ... End Sub ... SyncLock in this way? ... enters the lock, and never exits - then yes, you could deadlock. ...
    (microsoft.public.dotnet.languages.vb)