// *******************************************************************
//
// ! ! ! ! ! DIESE DATEI DARF N I C H T VERДNDERT WERDEN ! ! ! ! !
//
// -------------------------------------------------------------------
// Jobname : AUTHENTISIERUNG_ZUFALLSZAHL_LESEN
// -------------------------------------------------------------------
// Globale Variable : SG_Adresse, SG_Authentisierung
// Globale Tabelle : JobResult
// -------------------------------------------------------------------
// Gьltig:
// Lastenheft Programmieren Programm/Daten 7 500 334 E vom April 2000
// -------------------------------------------------------------------
// History:
// 21.06.2000 rd V0.01 Erstellung
// 23.01.2001 rd V0.02 send_and_receive_kwp2000_star neuer Parameter hinzu
// 23.01.2001 rd V1.00 Freigabe
// 22.04.2003 rd V1.01 Versionskennung hinzu
// *******************************************************************
// KWS_3107.B2S @(#)@ V1.01 @(#)@
// *******************************************************************
job ( name : AUTHENTISIERUNG_ZUFALLSZAHL_LESEN;
comment : Authentisierung Zufallszahl des SG lesen;
comment : KWP2000: $31 StartRoutineByLocalIdentifier;
comment : $07 RequestForAuthentication;
comment : Modus : Default;
argument : LEVEL;
type : int;
defrslt : ;
comment : ;
argument : USER_ID;
type : long;
defrslt : ;
comment : optional;
result : JOB_STATUS;
type : string;
defrslt : ;
comment : OKAY, wenn fehlerfrei;
comment : table JobResult STATUS_TEXT;
result : ZUFALLSZAHL;
type : data;
defrslt : ;
comment : Zufallszahl;
result : AUTHENTISIERUNG;
type : string;
defrslt : ;
comment : Authentisierungsart;
comment : 'Keine' Keine Authentisierung;
comment : 'Simple' Einfache Authentisierung;
comment : 'Symetrisch' Symetrische Authentisierung;
comment : 'Asymetrisch' Asymetrische Authentisierung;
result : _TEL_AUFTRAG;
type : data;
defrslt : ;
comment : Hex-Auftrag an SG;
result : _TEL_ANTWORT;
type : data;
defrslt : ;
comment : Hex-Antwort von SG;
)
{
unsigned char auftrag[] = {0xB8,0xFF,0xF1,0x03,0x31,0x07,0x00};
unsigned char antwort[];
unsigned char daten[];
unsigned char buffer[];
unsigned char level;
long user_id;
long anzahl;
// ---------------- Argumente des Jobs auswerten ---------------------
if (exist(LEVEL)) {
level = LEVEL;
auftrag[6] = level;
}
else {
JOB_STATUS = "ERROR_LEVEL";
return;
}
if (exist(USER_ID)) {
user_id = USER_ID;
auftrag[3] = 0x07;
auftrag[7] = (user_id & 0xFF000000) >> 24; // High
auftrag[8] = (user_id & 0x00FF0000) >> 16;
auftrag[9] = (user_id & 0x0000FF00) >> 8;
auftrag[10]= (user_id & 0x000000FF); // Low
}
// ---------------- Kommunikation ------------------------------------
auftrag[1] = SG_Adresse;
if (_TEL_AUFTRAG) _TEL_AUFTRAG = auftrag;
if (!send_and_receive_kwp2000_star(antwort,auftrag,daten,"_TEL_ANTWORT",2)) return;
// ---------------- Interpretation -----------------------------------
if (ZUFALLSZAHL) {
dataclear(buffer);
anzahl = datalen(daten)-2;
if ( anzahl > 0 ) datacopy(buffer,daten,2,anzahl);
ZUFALLSZAHL = buffer;
}
if (AUTHENTISIERUNG) {
buffer = SG_Authentisierung;
if ((strcmp(buffer,"Simple")==0) ||
(strcmp(buffer,"Symetrisch")==0) ||
(strcmp(buffer,"Asymetrisch")==0))
AUTHENTISIERUNG = buffer;
else
AUTHENTISIERUNG = "Keine";
}
JOB_STATUS = "OKAY";
}
Ly8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgovLwovLyAhICEgISAhICEgRElFU0UgREFURUkgREFSRiAgTiBJIEMgSCBUICBWRVLQlE5ERVJUIFdFUkRFTiAgISAhICEgISAhCi8vCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLy8gSm9ibmFtZSAgICAgICAgICAgIDogQVVUSEVOVElTSUVSVU5HX1pVRkFMTFNaQUhMX0xFU0VOCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLy8gR2xvYmFsZSBWYXJpYWJsZSAgIDogU0dfQWRyZXNzZSwgU0dfQXV0aGVudGlzaWVydW5nCi8vIEdsb2JhbGUgVGFiZWxsZSAgICA6IEpvYlJlc3VsdAovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi8vIEfRjGx0aWc6Ci8vIExhc3RlbmhlZnQgUHJvZ3JhbW1pZXJlbiBQcm9ncmFtbS9EYXRlbiA3IDUwMCAzMzQgRSB2b20gQXByaWwgMjAwMAovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi8vIEhpc3Rvcnk6Ci8vIDIxLjA2LjIwMDAgcmQgVjAuMDEgRXJzdGVsbHVuZwovLyAyMy4wMS4yMDAxIHJkIFYwLjAyIHNlbmRfYW5kX3JlY2VpdmVfa3dwMjAwMF9zdGFyIG5ldWVyIFBhcmFtZXRlciBoaW56dQovLyAyMy4wMS4yMDAxIHJkIFYxLjAwIEZyZWlnYWJlCi8vIDIyLjA0LjIwMDMgcmQgVjEuMDEgVmVyc2lvbnNrZW5udW5nIGhpbnp1Ci8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLy8gS1dTXzMxMDcuQjJTIEAoIylAIFYxLjAxIEAoIylACi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKam9iICggbmFtZSAgICAgIDogICAgICAgQVVUSEVOVElTSUVSVU5HX1pVRkFMTFNaQUhMX0xFU0VOOwogICAgICBjb21tZW50ICAgOiAgICAgICBBdXRoZW50aXNpZXJ1bmcgWnVmYWxsc3phaGwgZGVzIFNHIGxlc2VuOwogICAgICBjb21tZW50ICAgOiAgICAgICBLV1AyMDAwOiAkMzEgU3RhcnRSb3V0aW5lQnlMb2NhbElkZW50aWZpZXI7CiAgICAgIGNvbW1lbnQgICA6ICAgICAgICAgICAgICAgICQwNyBSZXF1ZXN0Rm9yQXV0aGVudGljYXRpb247CiAgICAgIGNvbW1lbnQgICA6ICAgICAgIE1vZHVzICA6IERlZmF1bHQ7CgogICAgICBhcmd1bWVudCAgOiAgICAgICBMRVZFTDsKICAgICAgICB0eXBlICAgIDogICAgICAgaW50OwogICAgICAgIGRlZnJzbHQgOiAgICAgICA7CiAgICAgICAgY29tbWVudCA6ICAgICAgIDsKCiAgICAgIGFyZ3VtZW50ICA6ICAgICAgIFVTRVJfSUQ7CiAgICAgICAgdHlwZSAgICA6ICAgICAgIGxvbmc7CiAgICAgICAgZGVmcnNsdCA6ICAgICAgIDsKICAgICAgICBjb21tZW50IDogICAgICAgb3B0aW9uYWw7CgogICAgICByZXN1bHQgICAgOiAgICAgICBKT0JfU1RBVFVTOwogICAgICAgIHR5cGUgICAgOiAgICAgICBzdHJpbmc7CiAgICAgICAgZGVmcnNsdCA6ICAgICAgIDsKICAgICAgICBjb21tZW50IDogICAgICAgT0tBWSwgd2VubiBmZWhsZXJmcmVpOwogICAgICAgIGNvbW1lbnQgOiAgICAgICB0YWJsZSBKb2JSZXN1bHQgU1RBVFVTX1RFWFQ7CgogICAgICByZXN1bHQgICAgOiAgICAgICBaVUZBTExTWkFITDsKICAgICAgICB0eXBlICAgIDogICAgICAgZGF0YTsKICAgICAgICBkZWZyc2x0IDogICAgICAgOwogICAgICAgIGNvbW1lbnQgOiAgICAgICBadWZhbGxzemFobDsKCiAgICAgIHJlc3VsdCAgICA6ICAgICAgIEFVVEhFTlRJU0lFUlVORzsKICAgICAgICB0eXBlICAgIDogICAgICAgc3RyaW5nOwogICAgICAgIGRlZnJzbHQgOiAgICAgICA7CiAgICAgICAgY29tbWVudCA6ICAgICAgIEF1dGhlbnRpc2llcnVuZ3NhcnQ7CiAgICAgICAgY29tbWVudCA6ICAgICAgICdLZWluZScgICAgICAgIEtlaW5lIEF1dGhlbnRpc2llcnVuZzsKICAgICAgICBjb21tZW50IDogICAgICAgJ1NpbXBsZScgICAgICAgRWluZmFjaGUgQXV0aGVudGlzaWVydW5nOwogICAgICAgIGNvbW1lbnQgOiAgICAgICAnU3ltZXRyaXNjaCcgICBTeW1ldHJpc2NoZSBBdXRoZW50aXNpZXJ1bmc7CiAgICAgICAgY29tbWVudCA6ICAgICAgICdBc3ltZXRyaXNjaCcgIEFzeW1ldHJpc2NoZSBBdXRoZW50aXNpZXJ1bmc7CgogICAgICByZXN1bHQgICAgOiAgICAgICBfVEVMX0FVRlRSQUc7CiAgICAgICAgdHlwZSAgICA6ICAgICAgIGRhdGE7CiAgICAgICAgZGVmcnNsdCA6ICAgICAgIDsKICAgICAgICBjb21tZW50IDogICAgICAgSGV4LUF1ZnRyYWcgYW4gU0c7CgogICAgICByZXN1bHQgICAgOiAgICAgICBfVEVMX0FOVFdPUlQ7CiAgICAgICAgdHlwZSAgICA6ICAgICAgIGRhdGE7CiAgICAgICAgZGVmcnNsdCA6ICAgICAgIDsKICAgICAgICBjb21tZW50IDogICAgICAgSGV4LUFudHdvcnQgdm9uIFNHOwogICAgKQp7CiAgdW5zaWduZWQgY2hhciBhdWZ0cmFnW10gPSB7MHhCOCwweEZGLDB4RjEsMHgwMywweDMxLDB4MDcsMHgwMH07CiAgdW5zaWduZWQgY2hhciBhbnR3b3J0W107CiAgdW5zaWduZWQgY2hhciBkYXRlbltdOwogIHVuc2lnbmVkIGNoYXIgYnVmZmVyW107CiAgdW5zaWduZWQgY2hhciBsZXZlbDsKICBsb25nICAgICAgICAgIHVzZXJfaWQ7CiAgbG9uZyAgICAgICAgICBhbnphaGw7CgovLyAtLS0tLS0tLS0tLS0tLS0tIEFyZ3VtZW50ZSBkZXMgSm9icyBhdXN3ZXJ0ZW4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgogIGlmIChleGlzdChMRVZFTCkpIHsKICAgIGxldmVsICAgICAgPSBMRVZFTDsKICAgIGF1ZnRyYWdbNl0gPSBsZXZlbDsKICB9CiAgZWxzZSB7CiAgICBKT0JfU1RBVFVTID0gIkVSUk9SX0xFVkVMIjsKICAgIHJldHVybjsKICB9CgogIGlmIChleGlzdChVU0VSX0lEKSkgewogICAgdXNlcl9pZCAgICA9IFVTRVJfSUQ7CiAgICBhdWZ0cmFnWzNdID0gMHgwNzsKICAgIGF1ZnRyYWdbN10gPSAodXNlcl9pZCAmIDB4RkYwMDAwMDApID4+IDI0OyAgIC8vIEhpZ2gKICAgIGF1ZnRyYWdbOF0gPSAodXNlcl9pZCAmIDB4MDBGRjAwMDApID4+IDE2OwogICAgYXVmdHJhZ1s5XSA9ICh1c2VyX2lkICYgMHgwMDAwRkYwMCkgPj4gIDg7CiAgICBhdWZ0cmFnWzEwXT0gKHVzZXJfaWQgJiAweDAwMDAwMEZGKTsgICAgICAgICAvLyBMb3cKICB9CgovLyAtLS0tLS0tLS0tLS0tLS0tIEtvbW11bmlrYXRpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgogIGF1ZnRyYWdbMV0gPSBTR19BZHJlc3NlOwogIGlmIChfVEVMX0FVRlRSQUcpIF9URUxfQVVGVFJBRyA9IGF1ZnRyYWc7CiAgaWYgKCFzZW5kX2FuZF9yZWNlaXZlX2t3cDIwMDBfc3RhcihhbnR3b3J0LGF1ZnRyYWcsZGF0ZW4sIl9URUxfQU5UV09SVCIsMikpIHJldHVybjsKCi8vIC0tLS0tLS0tLS0tLS0tLS0gSW50ZXJwcmV0YXRpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiAgaWYgKFpVRkFMTFNaQUhMKSB7CiAgICBkYXRhY2xlYXIoYnVmZmVyKTsKICAgIGFuemFobCA9IGRhdGFsZW4oZGF0ZW4pLTI7CiAgICBpZiAoIGFuemFobCA+IDAgKSBkYXRhY29weShidWZmZXIsZGF0ZW4sMixhbnphaGwpOwogICAgWlVGQUxMU1pBSEwgPSBidWZmZXI7CiAgfQoKICBpZiAoQVVUSEVOVElTSUVSVU5HKSB7CiAgICBidWZmZXIgPSBTR19BdXRoZW50aXNpZXJ1bmc7CiAgICBpZiAoKHN0cmNtcChidWZmZXIsIlNpbXBsZSIpPT0wKSAgICAgfHwKICAgICAgICAoc3RyY21wKGJ1ZmZlciwiU3ltZXRyaXNjaCIpPT0wKSB8fAogICAgICAgIChzdHJjbXAoYnVmZmVyLCJBc3ltZXRyaXNjaCIpPT0wKSkKICAgICAgQVVUSEVOVElTSUVSVU5HID0gYnVmZmVyOwogICAgZWxzZQogICAgICBBVVRIRU5USVNJRVJVTkcgPSAiS2VpbmUiOwogIH0KCiAgSk9CX1NUQVRVUyA9ICJPS0FZIjsKfQo=
Main.java:22: error: class, interface, or enum expected
job ( name : AUTHENTISIERUNG_ZUFALLSZAHL_LESEN;
^
Main.java:23: error: class, interface, or enum expected
comment : Authentisierung Zufallszahl des SG lesen;
^
Main.java:24: error: class, interface, or enum expected
comment : KWP2000: $31 StartRoutineByLocalIdentifier;
^
Main.java:25: error: class, interface, or enum expected
comment : $07 RequestForAuthentication;
^
Main.java:26: error: class, interface, or enum expected
comment : Modus : Default;
^
Main.java:28: error: class, interface, or enum expected
argument : LEVEL;
^
Main.java:29: error: class, interface, or enum expected
type : int;
^
Main.java:30: error: class, interface, or enum expected
defrslt : ;
^
Main.java:31: error: class, interface, or enum expected
comment : ;
^
Main.java:33: error: class, interface, or enum expected
argument : USER_ID;
^
Main.java:34: error: class, interface, or enum expected
type : long;
^
Main.java:35: error: class, interface, or enum expected
defrslt : ;
^
Main.java:36: error: class, interface, or enum expected
comment : optional;
^
Main.java:38: error: class, interface, or enum expected
result : JOB_STATUS;
^
Main.java:39: error: class, interface, or enum expected
type : string;
^
Main.java:40: error: class, interface, or enum expected
defrslt : ;
^
Main.java:41: error: class, interface, or enum expected
comment : OKAY, wenn fehlerfrei;
^
Main.java:42: error: class, interface, or enum expected
comment : table JobResult STATUS_TEXT;
^
Main.java:44: error: class, interface, or enum expected
result : ZUFALLSZAHL;
^
Main.java:45: error: class, interface, or enum expected
type : data;
^
Main.java:46: error: class, interface, or enum expected
defrslt : ;
^
Main.java:47: error: class, interface, or enum expected
comment : Zufallszahl;
^
Main.java:49: error: class, interface, or enum expected
result : AUTHENTISIERUNG;
^
Main.java:50: error: class, interface, or enum expected
type : string;
^
Main.java:51: error: class, interface, or enum expected
defrslt : ;
^
Main.java:52: error: class, interface, or enum expected
comment : Authentisierungsart;
^
Main.java:53: error: class, interface, or enum expected
comment : 'Keine' Keine Authentisierung;
^
Main.java:53: error: unclosed character literal
comment : 'Keine' Keine Authentisierung;
^
Main.java:53: error: unclosed character literal
comment : 'Keine' Keine Authentisierung;
^
Main.java:54: error: class, interface, or enum expected
comment : 'Simple' Einfache Authentisierung;
^
Main.java:54: error: unclosed character literal
comment : 'Simple' Einfache Authentisierung;
^
Main.java:54: error: unclosed character literal
comment : 'Simple' Einfache Authentisierung;
^
Main.java:55: error: class, interface, or enum expected
comment : 'Symetrisch' Symetrische Authentisierung;
^
Main.java:55: error: unclosed character literal
comment : 'Symetrisch' Symetrische Authentisierung;
^
Main.java:55: error: unclosed character literal
comment : 'Symetrisch' Symetrische Authentisierung;
^
Main.java:56: error: class, interface, or enum expected
comment : 'Asymetrisch' Asymetrische Authentisierung;
^
Main.java:56: error: unclosed character literal
comment : 'Asymetrisch' Asymetrische Authentisierung;
^
Main.java:56: error: unclosed character literal
comment : 'Asymetrisch' Asymetrische Authentisierung;
^
Main.java:58: error: class, interface, or enum expected
result : _TEL_AUFTRAG;
^
Main.java:59: error: class, interface, or enum expected
type : data;
^
Main.java:60: error: class, interface, or enum expected
defrslt : ;
^
Main.java:61: error: class, interface, or enum expected
comment : Hex-Auftrag an SG;
^
Main.java:63: error: class, interface, or enum expected
result : _TEL_ANTWORT;
^
Main.java:64: error: class, interface, or enum expected
type : data;
^
Main.java:65: error: class, interface, or enum expected
defrslt : ;
^
Main.java:66: error: class, interface, or enum expected
comment : Hex-Antwort von SG;
^
Main.java:67: error: class, interface, or enum expected
)
^
Main.java:70: error: class, interface, or enum expected
unsigned char antwort[];
^
Main.java:71: error: class, interface, or enum expected
unsigned char daten[];
^
Main.java:72: error: class, interface, or enum expected
unsigned char buffer[];
^
Main.java:73: error: class, interface, or enum expected
unsigned char level;
^
Main.java:74: error: class, interface, or enum expected
long user_id;
^
Main.java:75: error: class, interface, or enum expected
long anzahl;
^
Main.java:79: error: class, interface, or enum expected
if (exist(LEVEL)) {
^
Main.java:81: error: class, interface, or enum expected
auftrag[6] = level;
^
Main.java:82: error: class, interface, or enum expected
}
^
Main.java:85: error: class, interface, or enum expected
return;
^
Main.java:86: error: class, interface, or enum expected
}
^
Main.java:90: error: class, interface, or enum expected
auftrag[3] = 0x07;
^
Main.java:91: error: class, interface, or enum expected
auftrag[7] = (user_id & 0xFF000000) >> 24; // High
^
Main.java:92: error: class, interface, or enum expected
auftrag[8] = (user_id & 0x00FF0000) >> 16;
^
Main.java:93: error: class, interface, or enum expected
auftrag[9] = (user_id & 0x0000FF00) >> 8;
^
Main.java:94: error: class, interface, or enum expected
auftrag[10]= (user_id & 0x000000FF); // Low
^
Main.java:95: error: class, interface, or enum expected
}
^
Main.java:100: error: class, interface, or enum expected
if (_TEL_AUFTRAG) _TEL_AUFTRAG = auftrag;
^
Main.java:101: error: class, interface, or enum expected
if (!send_and_receive_kwp2000_star(antwort,auftrag,daten,"_TEL_ANTWORT",2)) return;
^
Main.java:105: error: class, interface, or enum expected
if (ZUFALLSZAHL) {
^
Main.java:107: error: class, interface, or enum expected
anzahl = datalen(daten)-2;
^
Main.java:108: error: class, interface, or enum expected
if ( anzahl > 0 ) datacopy(buffer,daten,2,anzahl);
^
Main.java:109: error: class, interface, or enum expected
ZUFALLSZAHL = buffer;
^
Main.java:110: error: class, interface, or enum expected
}
^
Main.java:114: error: class, interface, or enum expected
if ((strcmp(buffer,"Simple")==0) ||
^
Main.java:118: error: class, interface, or enum expected
else
^
Main.java:120: error: class, interface, or enum expected
}
^
Main.java:123: error: class, interface, or enum expected
}
^
75 errors