U1〜U8
のジョブ・スイッチと呼ばれる外部標識を C言語で扱うことは少ないので
その例も IBM マニュアルでも紹介されていない。
外部標識は C/400 では _JOB_SWITCHES
として定義されていて
使用するには MILIB.H
をインクルードする必要がある。
0001.00 #include0002.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
をセットする。