John McKown
2018-01-10 13:56:51 UTC
Sorry, but I deleted the email which had the original question. Just for
"fun" (but no profit), I wrote the following C code to display the name of
the job under which the program is running. It can be improved a bit, but
it shows the basics.
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[]) {
char *psaaold;
char *ascbjbni;
char *ascbjbns;
char *ascbjbn;
char jobname[9];
psaaold=*(char **)0x224; /* address of PSAAOLD */
//printf("%s\n",psaaold);
ascbjbni=*(char **)(psaaold+0xac);
ascbjbns=*(char **)(psaaold+0xb0);
ascbjbn =ascbjbni;
//printf("%s\n",ascbjbni);
if (ascbjbn == NULL) ascbjbn=ascbjbns;
memcpy(jobname,ascbjbn,8);
*(jobname+8)='\0';
printf("%s - %8.8s\n",jobname,ascbjbn);
}
--
I have a theory that it's impossible to prove anything, but I can't prove
it.
Maranatha! <><
John McKown
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
"fun" (but no profit), I wrote the following C code to display the name of
the job under which the program is running. It can be improved a bit, but
it shows the basics.
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[]) {
char *psaaold;
char *ascbjbni;
char *ascbjbns;
char *ascbjbn;
char jobname[9];
psaaold=*(char **)0x224; /* address of PSAAOLD */
//printf("%s\n",psaaold);
ascbjbni=*(char **)(psaaold+0xac);
ascbjbns=*(char **)(psaaold+0xb0);
ascbjbn =ascbjbni;
//printf("%s\n",ascbjbni);
if (ascbjbn == NULL) ascbjbn=ascbjbns;
memcpy(jobname,ascbjbn,8);
*(jobname+8)='\0';
printf("%s - %8.8s\n",jobname,ascbjbn);
}
--
I have a theory that it's impossible to prove anything, but I can't prove
it.
Maranatha! <><
John McKown
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN