- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - OpenVMS
- >
- GNV behavior and the DECC incantations
Categories
Company
Local Language
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Forums
Discussions
Discussions
Discussions
Forums
Discussions
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
Discussion Boards
Community
Resources
Forums
Blogs
- 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
02-18-2011 06:39 AM
02-18-2011 06:39 AM
GNV behavior and the DECC incantations
An issue I am having currently is it appears that for the command line to function reasonably - things like "man ln" not breaking - I need to enable DECC$EFS_CASE_SPECIAL.
But, this does not provide any help for some issues with symbolic links and correct operation of mkdir. To get mkdir to function reasonably - in this case create a unix style directory name of aaa.dir which translated to aaa^.dir.DIR;1 I need DECC$POSIX_COMPLIANT_PATHNAMES defined a "2" or at least that is what I am using.
But DECC$POSIX_COMPLIANT_PATHNAMES disables DECC$EFS_CASE_SPECIAL. It also hides the "/dev/null/" special file, which then makes the configure script I am trying to get to run successfully as a "start" think that bash is "too old" since it can not find "/dev/null".
Any suggestions on the appropriate set of incantations?
This is on OpenVMS I64 V8.4 with V0400 update, TCPIP 5.7 ECO 2 and GNV 2.1.3.
Thanks,
Bill.
CCSS - Computer Consulting System Services, LLC
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-18-2011 07:43 AM
02-18-2011 07:43 AM
Re: GNV behavior and the DECC incantations
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-18-2011 07:50 AM
02-18-2011 07:50 AM
Re: GNV behavior and the DECC incantations
GNV, like any other "C" program is dependent on the CRTL which is controlled by the DECC feature logicals. Its behavior is thus changed by the particular incantation of the DECC logicals.
CCSS - Computer Consulting System Services, LLC
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-18-2011 08:20 AM
02-18-2011 08:20 AM
Re: GNV behavior and the DECC incantations
GNV, like any other "C" program is dependent on the CRTL which is controlled by the DECC feature logicals. Its behavior is thus changed by the particular incantation of the DECC logicals.
<<<
Right, but all the utilities and tools within GNV do not need to have DECC features enable by the user, aka defining logicals. That's all done with image initialization code. With GNV you have the sources, or? So you can have a look at the code, how this is done.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-18-2011 08:31 AM
02-18-2011 08:31 AM
Re: GNV behavior and the DECC incantations
There's a third thread in c.o.v..
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-18-2011 09:27 AM
02-18-2011 09:27 AM
Re: GNV behavior and the DECC incantations
If I define DECC$EFS_CASE_SPECIAL this utility works. From my observation this is necessary.
Without DECC$POSIX_COMPLIANT_FILENAMES set to "2" a command inside of GNV such as:
mkdir aa.dir
Does not create aa.dir but creates aa with directory properties and if fact creates aa.DIR on the disk. So that behavior is incorrect as you would expect on Unix or Linux to see a directory file "aa.dir".
So I do not understand you saying the utilities do not need the logicals. They call the CRTL. They depend on its functionality/features and they behave differently - sometimes in correctly without the various logicals. And of course the logicals are not necessarily compatible.
So, I am looking for some guidance here on the correct combination.
Hoff, yes, I realize that I have posted here, and COV and the SIG list. Not everyone looks everyplace. Some of us do.
I will review what folks have sent me.
Thanks,
Bill.
CCSS - Computer Consulting System Services, LLC
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-18-2011 10:35 AM
02-18-2011 10:35 AM
Re: GNV behavior and the DECC incantations
seem to have only "DEC AXPVMS GNV V1.6-2"
installed on my (VMS V8.3) Alpha system, but
I don't have any of the exotic DECC$ feature
logical names defined, and "man ln" works
just fine for me.
alp $ sho log decc$*
(LNM$PROCESS_TABLE)
"DECC$FD_LOCKING" = "TRUE"
(LNM$JOB_82A17A40)
(LNM$GROUP_000050)
(LNM$SYSTEM_TABLE)
"DECC$CRTLMAP" = "SYS$SHARE:DECC$SHR_EV56"
"DECC$SHR" = "SYS$SHARE:DECC$SHR_EV56"
(LNM$SYSCLUSTER_TABLE)
(DECW$LOGICAL_NAMES)
alp $ bash
alp$ man ln
LN(1) FSF LN(1)
NAME
ln - make links between files
SYNOPSIS
[...]
I guess that I should get my GNV updated. I
hate missing out on all the fun.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-18-2011 11:41 AM
02-18-2011 11:41 AM
Re: GNV behavior and the DECC incantations
LEEDS$ sho log decc*
(LNM$PROCESS_TABLE)
"DECC$FD_LOCKING" = "TRUE"
(LNM$JOB_896ACC80)
"DECC$ARGV_PARSE_STYLE" = "ENABLE"
(LNM$GROUP_000001)
(LNM$SYSTEM_TABLE)
"DECC$CRTLMAP" = "SYS$SHARE:DECC$SHR"
"DECC$SHR_AV" = "DECC$SHR"
(LNM$SYSCLUSTER_TABLE)
(DECW$LOGICAL_NAMES)
LEEDS$ bash
bash$ man ln
No manual entry for ln
CCSS - Computer Consulting System Services, LLC
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-18-2011 12:33 PM
02-18-2011 12:33 PM
Re: GNV behavior and the DECC incantations
>> No manual entry for ln
Bill, you seem to be implying that this 'man ln' failing is because issues with command line or file spec parsing. But maybe it is just imply trying to tell you there is no man page on your system for 'ln'.
I do not know gnv (yet) but maybe the manpages are an installation option?
Can yo (brute force 'find' or ls ) the files?
I dunno, maybe:
$ ls /usr/share/man/*/ln*
/usr/share/man/man1/ln.1.gz
Do any man pages work? apropos?
Are you using 'man' failing as an example of many failures or it this the only problem?
google will happily find only man pages, so if all you need is an explanation for the mann command then just http://linux.die.net/man/1/ln or comparable other place.
Is there something 'real' broken as well, and can you articulate that?
Cheers,
Hein
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-18-2011 01:08 PM
02-18-2011 01:08 PM
Re: GNV behavior and the DECC incantations
Note, without the above logical if I do "man LN" it will eventually find the .gz file and ask it I want to display it:
LEEDS$ bash
bash$ man ln
No manual entry for ln
bash$ man LN
"/usr/share/man/cat1/LN.1.GZ" may be a binary file. See it anyway?
So man is running around trying to find the files based on its rules and directories it just does not like the situation where at present "case_special" is not defined, at least in "my case".
Bill.
CCSS - Computer Consulting System Services, LLC
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-18-2011 02:05 PM
02-18-2011 02:05 PM
Re: GNV behavior and the DECC incantations
"LN.1.GZ"? Really? Around here (older
version):
alp$ ls -l /usr/share/man/cat1/*ln*
-rwxr-xr-x 1 SYSTEM 1 1016 Oct 10 2005 /usr/share/man/cat1/ln.1.gz
Looks to me as if something awful happened
when your GNV was installed. You didn't put
it onto an ODS2 disk, did you?
show proc /parse
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-18-2011 02:22 PM
02-18-2011 02:22 PM
Re: GNV behavior and the DECC incantations
CCSS - Computer Consulting System Services, LLC
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-18-2011 02:29 PM
02-18-2011 02:29 PM
Re: GNV behavior and the DECC incantations
So, how did you get the wrong-case file
name(s)? Around here, for example:
alp $ dire /date ALP$DKA100:[VMS$COMMON.GNV.usr.share.man...]*ln*
Directory ALP$DKA100:[VMS$COMMON.GNV.usr.share.man.cat1]
ln^.1.gz;1 11-JUN-2003 08:53:22.00
Total of 1 file.
Directory ALP$DKA100:[VMS$COMMON.GNV.usr.share.man.man1]
ln.1;1 11-JUN-2003 08:53:23.00
Total of 1 file.
Grand total of 2 directories, 2 files.
I realize that many things are possible, but
it's hard to believe that there's a GNV kit
out there with wrong-case file names in it.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-18-2011 02:49 PM
02-18-2011 02:49 PM
Re: GNV behavior and the DECC incantations
LEEDS$ dire /date DKA100:[VMS$COMMON.GNV.usr.share.man...]*ln*
Directory DKA100:[VMS$COMMON.GNV.USR.SHARE.MAN.CAT1]
LN^.1.GZ;1 11-JUN-2003 08:53:22.00
Total of 1 file.
Directory DKA100:[VMS$COMMON.GNV.USR.SHARE.MAN.MAN1]
LN.1;1 11-JUN-2003 08:53:23.00
Total of 1 file.
Grand total of 2 directories, 2 files.
LEEDS$
Which I downloaded from the HP site:
ftp://ftp.hp.com/pub/openvms/opensource/
Here is the information from the PCSI file.
HP-I64VMS-GNV-V0201-003-1.PCSI$COMPRESSED;1
5-NOV-2009 05:27:55.00
So, it this initial item is an issue of incorrect install, I guess I could remove and re-install. As a start. It still does not answer the other issue of getting mkdir to work properly and /dev/null being visible, assuming I still need decc$posix_compatible_pathnames.
Bill.
CCSS - Computer Consulting System Services, LLC
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-18-2011 04:06 PM
02-18-2011 04:06 PM
Re: GNV behavior and the DECC incantations
So, if there is a CORRECT way for GNV to be installed we need to understand what that is so we can correct it on my system as well HP OpenVMS Engineering's system.
Bill.
CCSS - Computer Consulting System Services, LLC
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-18-2011 06:10 PM
02-18-2011 06:10 PM
Re: GNV behavior and the DECC incantations
> it's hard to believe that there's a GNV kit
> out there with wrong-case file names in it.
Well, it is until you try it.
By searching the whole destination disk, I
did manage to find GNV$STARTUP.COM.
ALP $ @ ALP$DKA100:[VMS$COMMON.SYS$STARTUP]GNV$STARTUP.COM
%DCL-I-SUPERSEDE, previous value of GNV_PCSI_DESTINATION has been superseded
%DCL-E-OPENIN, error opening SYS$SYSROOT:[SYS$STARTUP]PSX$UP_STARTUP.COM; as input
-RMS-E-FNF, file not found
GNV$STARTUP problem: %RMS-E-FNF, file not found
%DCL-W-VALREQ, missing qualifier or keyword value - supply all required values
To a casual observer, this stuff appears to
be garbage. I think that I'll be trying to
put the old one back.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-18-2011 06:14 PM
02-18-2011 06:14 PM
Re: GNV behavior and the DECC incantations
The following product has been selected:
DEC AXPVMS GNV V2.1-3 Layered Product
Do you want to continue? [YES]
The following product will be removed from destination:
DEC AXPVMS GNV V2.1-3 DISK$UTIL5ALPX:[VMS$COMMON.]
Portion done: 0%
%DCL-E-OPENIN, error opening SYS$SYSROOT:[SYS$STARTUP]GNV$MNTROOT.COM; as input
-RMS-E-FNF, file not found
%PCSI-I-SPAWNEXE, error executing: @SYS$STARTUP:GNV$MNTROOT.COM,@PCSI$DESTINATIO
N:[GNV.lib]PCSI_REMOVE.COM
%PCSI-E-EXERMVFAIL, product supplied EXECUTE REMOVE procedure failed
-RMS-E-FNF, file not found
%PCSI-E-OPFAILED, operation failed
Terminating is strongly recommended. Do you want to terminate? [YES] n
[...]
At least it's free.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-18-2011 08:39 PM
02-18-2011 08:39 PM
Re: GNV behavior and the DECC incantations
On VMS, you can't symlink a directory (well you can, but it doesn't work when you try to query it); you can't symlink to absolute pathnames that are not on one of those POSIX root GNV mount point thingies; you can't create a symlink on a volume that has write behind caching enabled because readlink() won't find it until the cache is flushed.
Those are the bugs I can think of off the top of my head that I've stumbled on without looking for them and haven't had time to write up and report. I've reported a couple of others that have been fixed, but since you can't rely on folks having access to patches anymore, it's dicey distributing software that depends on them.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-19-2011 03:24 AM
02-19-2011 03:24 AM
Re: GNV behavior and the DECC incantations
In a Posix/GNV environment all pathnames should be Posix style (equivalent to CRTL feature DECC$POSIX_COMPLIANT_PATHNAMES == 1). If GNV does not enforce this, this is (or always was) a bug. All VMS filename semantics should be translated to Posix style. That may require having a Posix root and mounting VMS disks/directories into the Posix filesystem tree. For what do you need DECC$POSIX_COMPLIANT_PATHNAMES different from 1 - especially if you port from Linux/Unix?
Whether /dev/null (as well as /bin and /tmp) is handled in a special way by the CRTL or by a special device driver should not be your - a GNV user's - concern. These files have to be there or you should be able to create them from within the Posix environment.
Although porting looks so easy, just "tar && ./configure && make && make install", mixing environments makes it complex.
Also, GNV seems at least neglected - in the real world, however it seems to perform very well on powerpoint slides :-)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-21-2011 12:16 AM
02-21-2011 12:16 AM
Re: GNV behavior and the DECC incantations
>> So far the implementation of symlinks on VMS is incomplete
The SYMLINK feature was added in OpenVMS V83 version.
But with V84, the SYMLINK feature has been redesigned.
Are you referring to your experiences with V84 itself ?
>> On VMS, you can't symlink a directory (well you can, but it doesn't work when
>> you try to query it);
Whats the directory specification in this case ?
>> On VMS, you can't symlink a directory (well you can, but it doesn't work when
>> you try to query it); you can't symlink to absolute pathnames that are not on
>> one of those POSIX root GNV mount point thingies; you can't create a
>> symlink on a volume that has write behind caching enabled because
>> readlink() won't find it until the cache is flushed.
If you can provide me, with steps to reproduce the problems, I can make a note
and log a internal problem report for it.
Regards,
Murali
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-21-2011 11:49 AM
02-21-2011 11:49 AM
Re: GNV behavior and the DECC incantations
<<<
The SYMLINK feature was added in OpenVMS V7.2-6C2. However, there was no DCL interface. It was redesigned for V8.3, now with DCL support. It was rewritten to fix bugs and improve performance for V8.4. Unfortunately all the changes are incompatible: you can't use previous symbolic links in current versions. With all the changes and bug fixes it is recommended to avoid symlinks on older versions than V8.4.
>>> On VMS, you can't symlink a directory (well you can, but it doesn't work when you try to query it)
<<<
Symlinks for directories kind of work, but you have to be careful (on an ODS5 disk with Parse Style: Traditional and Case Lookup: Blind):
$ cre/dir [.sub]
$ cre [.sub]foo
[ Exit ]
$ cre/symlink=sub lnsub
$ dir [.lnsub]
Directory USER01:[BECKER_H.SYMLINKS.LNSUB]
FOO.;1
Total of 1 file.
$ create sub.
huhu
Exit
$ type lnsub.
huhu
$
>>> you can't symlink to absolute pathnames that are not on one of those POSIX root GNV mount point thingies
<<<
Not really true on V8.4.
$ def the_sub USER01:[BECKER_H.SYMLINKS.SUB]
$ cre/symlink="/the_sub" there
$ dir /date
Directory USER01:[BECKER_H.SYMLINKS]
LNSUB.;1 -> SUB 21-FEB-2011 20:19:44.93
SUB.;1 21-FEB-2011 20:25:19.02
SUB.DIR;1 21-FEB-2011 20:18:44.42
THERE.;1 -> /the_sub
21-FEB-2011 20:37:38.95
Total of 4 files.
$ dir [.there]
Directory USER01:[BECKER_H.SYMLINKS.THERE]
FOO.;1
Total of 1 file.
$
>>> symlink on a volume that has write behind caching enabled because readlink() won't find it until the cache is flushed.
<<<
And vice versa. It's a bug.
$! same command, error is expected:
$ cre/symlink="/the_sub" there
%CREATE-E-SYMLINKERR, error creating symbolic link THERE
-RMS-E-FEX, file already exists, not superseded
$ del there.;*
$ cre/symlink="/the_sub" there
%CREATE-E-SYMLINKERR, error creating symbolic link THERE
-RMS-E-FEX, file already exists, not superseded
$! unexpected error, what else should I delete?
$! after waiting a while ...
$ cre/symlink="/the_sub" there
$
And yes, symlinks are for GNV:
$ bash
bash$ ls there/
FOO
bash$
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-21-2011 03:53 PM
02-21-2011 03:53 PM
Re: GNV behavior and the DECC incantations
Hans wrote:
>Symlinks for directories kind of work
Thanks for the working example. I was working from a C example that I thought I had reproduced using pretty much what you do here in DCL, but I might've fumbled something and I don't have the details handy.
>>> you can't symlink to absolute pathnames that are not on one of those POSIX root GNV mount point thingies
<<<
>Not really true on V8.4.
Good to know. On v8.3-1H1 it's not there yet:
$ create/symlink="/sys$manager/operator.log" op.lnk
$ type/tail op.lnk
%TYPE-W-OPENIN, error opening DISK8:[BERRYC.TEST]op.lnk;1 as input
-RMS-E-DNF, directory not found
-SYSTEM-W-NOSUCHFILE, no such file
>>> symlink on a volume that has write behind caching enabled because readlink() won't find it until the cache is flushed.
<<<
And vice versa. It's a bug.
And here is a reproducer in C. (And it's really unlink(), not readlink() that is unable to deal with cached file headers):
$ type symlink_nowritethru.c
#include
#include
#include
#include
main() {
char fn[]="regularfile.tmp";
char sl[]="symlink.tmp";
char buf[30];
ssize_t buflen;
int saved_errno = 0;
FILE *f;
if ((f = fopen(fn, "w+")) == NULL)
perror("fopen() error");
else {
fprintf(f, "I am not a symlink!");
fclose(f);
if (symlink(fn, sl) != 0)
perror("symlink error");
else {
if ((buflen = readlink(sl, buf, sizeof(buf))) != -1) {
buf[buflen] = '\0';
printf("# readlink() succeeded, '%s' points to '%s'\n",
sl, buf);
}
}
}
/* clean up */
if (unlink(sl) != 0)
perror("Couldn't unlink symlink");
if (unlink(fn) != 0)
perror("Couldn't unlink regular file");
}
Make sure you're on a volume with write-back caching enabled via SET VOLUME/NOWRITETHROUGH and notice that it cannot unlink the symbolic link it's just created:
$ write sys$output f$getdvi("SYS$DISK:", "WRITETHRU_CACHE_ENABLED")
FALSE
$ r symlink_nowritethru
# readlink() succeeded, 'symlink.tmp' points to 'regularfile.tmp'
Couldn't unlink symlink: no such file or directory
$ dir symlink.tmp
Directory DISK8:[BERRYC.TEST]
symlink.tmp;1
Total of 1 file.
Run it on a volume without write-back caching and it removes the symlink just fine.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-21-2011 03:56 PM
02-21-2011 03:56 PM
Re: GNV behavior and the DECC incantations
http://gnv.cvs.sourceforge.net/viewvc/gnv/gnv213/man/man_pages/man1/
So that one appears to be a GNV kitting problem. Someone probably got the memo that PCSI has trouble with lower case filenames (which was true at one point) and studiously upcased everything, which is clearly not appropriate for GNV.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-23-2011 05:16 AM - last edited on 09-02-2011 12:27 PM by Kevin_Paul
02-23-2011 05:16 AM - last edited on 09-02-2011 12:27 PM by Kevin_Paul
Re: GNV behavior and the DECC incantations
Hi Bill,
Please dont mind the deviation in the original topic caused due to my
discussion on symlinks.
I have now created a new thread for discussion on symlink problems
http://h30499.www3.hp.com/t5/General/Any-known-problems-with-SYMLINKS/m-p/4756917#M19408
Thanks Craig and Becker for providing the data. i will reply to these data in
the new thread created for discussing symlinks.
Regards,
Murali
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-23-2011 06:41 AM
02-23-2011 06:41 AM
Re: GNV behavior and the DECC incantations
No offense taken. The issue of symlinks is really where this started but as I was working on getting other things working I ignored them.
I will add a comment on the other thread as well...
CCSS - Computer Consulting System Services, LLC