[Info-vax] C... the only winning move is not to play...

VAXman- at SendSpamHere.ORG VAXman- at SendSpamHere.ORG
Wed Feb 12 18:00:38 EST 2014


In article <ldglia$3us$1 at dont-email.me>, David Froble <davef at tsoft-inc.com> writes:
>{...snip...}
>> 
>> This particular piece of C has some inner mode code.  I'm extra careful with
>> that using C; however, I'm not so certain I'd want to be jumping into kernel
>> mode with BASIC.
>> 
>
>After thinking about this for a while, I must confess to curiosity.
>
>I'm assuming that by "inner mode" that you're talking about kernel mode. 
>  If not, then ignore the rest of this.

Correct.



>I've dabbled a bit at exec mode, mainly to allow some RTL code to use 

I've *MORE* than dabbled in recent months/years. ;)



>SYSLCK when the user didn't have that priv.  But I've never had the need 
>to run anything in kernel made.
>
>What would you be doing that would require running in kernel mode?  I'm 
>assuming that you're working on some type of application, and not 
>modifying something in VMS.
>
>Rather curious ....

Well, remember, you asked...

http://www.attunity.com/products/attunity-cdc/rms-change-data-capture
http://www.attunity.com/products/attunity-cdc-ssis/rms-cdc-for-ssis
http://www.attunity.com/learning/video/attunity-rms-cdc-only-rms-solution-its-kind
http://www.enterpriseirregulars.com/25555/attunity-scores-a-win-with-rms-cdc-support/
http://www.attunity.com/news/attunity-announces-million-dollar-license-agreement-leading-communications-and-media-provider

I've been working with Hein van den Heuvel, who is now an Attunity employee,
since about 2009 when this project was conceived.  There's not too much that
I don't know now about the inner workings of RMS as a result of this project.
It's been one of the most interesting and challenging VMS hacking projects I
have ever done.

STR$CONCAT was used for a recent "new feature" request.  The control utility
is written in C.  Not my choice but...  The rest of the code is pure OpenVMS
internals magic written in Macro32 with bits of Macro64 or Itanium Assembler.



>My understanding, and it's vague, is that you'd never want to invoke any 
>code that might throw an error while running in kernel mode.  As Steve 
>mentioned elsewhere, that leaves out any of the language modules, RTL 
>modules, and such.  I'd think that that would also exclude STR$CONCAT 
>and such.

Well, you could call many of those functions assuming you use their "object"
brethren.  (see: LINK/[NO]SYSSHR).  However, I'm invoking STR$CONCAT at user
mode in the control utility for Attunity RMS CDC.  While this does jump into
kernel mode to perform some interface tasks, it's NOT calling ST$CONCAT (or
any of the other RTLs of its ilk) when in kernel mode!


-- 
VAXman- A Bored Certified VMS Kernel Mode Hacker    VAXman(at)TMESIS(dot)ORG

Well I speak to machines with the voice of humanity.



More information about the Info-vax mailing list