- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - OpenVMS
- >
- C Code Returning Unreadable File ID String
Operating System - OpenVMS
1752808
Members
6130
Online
108789
Solutions
Forums
Categories
Company
Local Language
back
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Discussions
Discussions
Forums
Discussions
back
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Blogs
Information
Community
Resources
Community Language
Language
Forums
Blogs
Go to solution
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-25-2008 03:34 AM
11-25-2008 03:34 AM
Re: C Code Returning Unreadable File ID String
Unfortunately, I neither program in C++ or Fortran, which is really why I can to the list.
Nor do I have any compilers, so I'm completely reliant on offers from people to code and compile the changes.
Hunter Goatley has done some of the work on porting some of these utilities to IA64, but as this is a code change, I thought it better to seek out a willing programmer to help.
By the way - you can't imagine how frustrating it is to use these utilities, have the source code, but no be able to change them yourself!
Rob.
Nor do I have any compilers, so I'm completely reliant on offers from people to code and compile the changes.
Hunter Goatley has done some of the work on porting some of these utilities to IA64, but as this is a code change, I thought it better to seek out a willing programmer to help.
By the way - you can't imagine how frustrating it is to use these utilities, have the source code, but no be able to change them yourself!
Rob.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-25-2008 04:00 AM
11-25-2008 04:00 AM
Re: C Code Returning Unreadable File ID String
Rob,
until someone picks up this 'enhancement request' and provides a solution, what do you try to do with this string ?
Could you read that string from DCL and parse it into the various fields ? Then call F$FID_TO_NAME ?
The FILE_IDENTIFICATION binary string seems to be in NAM$T_DVI format, i.e.
16 byte device name
6 byte FILE-ID
6 byte DIR-ID
See the $NAMDEF definition in SYS$LIBRARY:STARLET.REQ.
Volker.
until someone picks up this 'enhancement request' and provides a solution, what do you try to do with this string ?
Could you read that string from DCL and parse it into the various fields ? Then call F$FID_TO_NAME ?
The FILE_IDENTIFICATION binary string seems to be in NAM$T_DVI format, i.e.
16 byte device name
6 byte FILE-ID
6 byte DIR-ID
See the $NAMDEF definition in SYS$LIBRARY:STARLET.REQ.
Volker.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-25-2008 04:34 AM
11-25-2008 04:34 AM
Re: C Code Returning Unreadable File ID String
Well, Hunter Goatley occasuionally stops by here, so he might be able to advice. I think he checks comp.os.vms and EISNER:: more frequently, as do others, so you may want to cross-post there.
( http://forums11.itrc.hp.com/service/forums/publicProfile.do?userId=CA1182816&forumId=1 )
The bit representation would be tedious, but more importantly 3 bytes too short.
The first code suggests it is not tightly packed, so you would miss out on 3 critical bytes out of which you can only fake 1 (the rvn).
You may be better of TRYing to tret the umprintable as a bit string in DCL and hope is all glues together nicely.
Somthing LIKE...
$id=0
$seq=0
$rvn=0
$id[0,16] = f$cvui(16*8,16,record)
$id[16,8] = f$cvui(21*8,8,record)
$seq[0,16] = f$cvui(18*8,16,record)
$rvn[0,8] = f$cvui(20*8,8,record)
! I could well be off by one
! I could well have FID(3) swapped
! Some of this can be expressed as string bytes, but I believe bit strings is more clear.
Capture the 'garbage' for a known file in a file and $DUMP it. See if you can make the HEX bytes for the file line up with the HEX represenation for the FID:
$ fid = f$file("login.com","FID") - "(" - ")"
$ show sym fid
FID = "78215,881,0"
$ f_id = 'f$eleme(0,",",fid)
$ f_se = 'f$eleme(1,",",fid)
$ f_rv = 'f$eleme(2,",",fid)
$ show sym f_*
F_ID = 78215 Hex = 00013187 Octal = 00000230607
F_RV = 0 Hex = 00000000 Octal = 00000000000
F_SE = 881 Hex = 00000371 Octal = 00000001561
fwiw,
Hein
( http://forums11.itrc.hp.com/service/forums/publicProfile.do?userId=CA1182816&forumId=1 )
The bit representation would be tedious, but more importantly 3 bytes too short.
The first code suggests it is not tightly packed, so you would miss out on 3 critical bytes out of which you can only fake 1 (the rvn).
You may be better of TRYing to tret the umprintable as a bit string in DCL and hope is all glues together nicely.
Somthing LIKE...
$id=0
$seq=0
$rvn=0
$id[0,16] = f$cvui(16*8,16,record)
$id[16,8] = f$cvui(21*8,8,record)
$seq[0,16] = f$cvui(18*8,16,record)
$rvn[0,8] = f$cvui(20*8,8,record)
! I could well be off by one
! I could well have FID(3) swapped
! Some of this can be expressed as string bytes, but I believe bit strings is more clear.
Capture the 'garbage' for a known file in a file and $DUMP it. See if you can make the HEX bytes for the file line up with the HEX represenation for the FID:
$ fid = f$file("login.com","FID") - "(" - ")"
$ show sym fid
FID = "78215,881,0"
$ f_id = 'f$eleme(0,",",fid)
$ f_se = 'f$eleme(1,",",fid)
$ f_rv = 'f$eleme(2,",",fid)
$ show sym f_*
F_ID = 78215 Hex = 00013187 Octal = 00000230607
F_RV = 0 Hex = 00000000 Octal = 00000000000
F_SE = 881 Hex = 00000371 Octal = 00000001561
fwiw,
Hein
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-02-2009 06:35 AM
12-02-2009 06:35 AM
Re: C Code Returning Unreadable File ID String
Went with another solution instead of ExecSymb in the end.
- « Previous
-
- 1
- 2
- Next »
The opinions expressed above are the personal opinions of the authors, not of Hewlett Packard Enterprise. By using this site, you accept the Terms of Use and Rules of Participation.
News and Events
Support
© Copyright 2024 Hewlett Packard Enterprise Development LP