I have been thinking about this for almost a week, and concluded - sorry - this is BS.
First, I could not decide if you are trying to use the pragma to define a program that is callable from JCL or it is calling a program using the JCL interface.
Case 1 -- you don't need the progma -
int mypgm(int argn, char **argc) ...
Look familar? The library pre parses the PARM text as though it was on a command line.
// EXEC PGM=thepgm,PARM='A B C'
argn = 4, argc[ 1 ] = A, and so on. I forget what argc[ 0 ] is set to, but it is set
Case 2. Now I don't do much mainframe C, but
struct osparm
{
int len; // I don't know, off hand, how to define a 16 bit int, but that's what you want
char text[100];
}
int routine( struct osparm);
Note: again, no pragma. What you need is already in the language.