U1〜U8 のジョブ・スイッチと呼ばれる外部標識を C言語で扱うことは少ないので
その例も IBM マニュアルでも紹介されていない。
外部標識は C/400 では _JOB_SWITCHES として定義されていて
使用するには MILIB.H をインクルードする必要がある。
【サンプル・ソース: TESTSWS 】
0001.00 #include
0002.00 #include
0003.00 #include
0004.00 #include
0005.00
0006.00 #define TRUE 0
0007.00 #define FALSE -1
0008.00
0009.00 void main(void){
0010.00 char sws[9];
0011.00
0012.00 printf("** TESTSWS **\n");
0013.00 getchar();
0014.00 system("CHGJOB SWS(XXXXXX1X)");
0015.00 memcpy(sws, &_JOB_SWITCHES, 8);
0016.00 printf("sws = [%s]\n", sws);
0017.00 if(_JOB_SWITCHES[6] == '1') printf("U7 is ON\n");
0018.00 else printf("U7 is OFF\n");
0019.00 if(_JOB_SWITCHES[7] == '1') printf("U8 is ON\n");
0020.00 else printf("U8 is OFF\n");
0021.00 getchar();
0022.00 system("CHGJOB SWS(XXXXXX0X)");
0023.00 }
【実行結果】

【解説】
0014.00 system("CHGJOB SWS(XXXXXX1X)");
によって XXXXXX1X の 7番目を 1 にセットしてオンにすることを意味している。
X とは、スイッチを変更せずにそのままの値にしておくことを意味する。
オフ(OFF)にセットしたい場合は 0 をセットする。
