#include <stdio.h>
#include <string.h>
#include <stdlib.h>
EXEC SQL INCLUDE SQLCA;
int validate(char*,char*,char*);
void log(int,char*);
int main(int argc,char* argv[])
{
  EXEC SQL BEGIN DECLARE SECTION;
  VARCHAR usr[20],passwd[20],db_name[20];
  char pwd[32],salt[32],user_name[20];
  EXEC SQL END DECLARE SECTION;
  char *logmsg = "user ";
  strcpy(usr.arr,"admin");
  usr.len=(unsigned short)strlen((char *)usr.arr);
  strcpy(passwd.arr,"admin");
  passwd.len=(unsigned short)strlen((char *)passwd.arr);
  strcpy(db_name.arr,"pms_db");
  db_name.len=(unsigned short)strlen((char *)db_name.arr);
  EXEC SQL CONNECT :usr IDENTIFIED BY :passwd USING :db_name;
  strcpy(user_name,argv[0]);
fprintf(stdout,"Connect!\n");
  EXEC SQL SELECT pwd,salt into :pwd, :salt from t_usr where user_name=:user_name;
  EXEC SQL COMMIT WORK RELEASE;
  if(!validate(pwd,argv[1],salt)){
  strcat(logmsg,argv[0]);
  strcat(logmsg,"login");
  log(logmsg);
  return 1;
  }else{
      return 0;
}
}
SQL