// CALLINFO.INC - Liefert Info zu bestimmten Calls
// Written by Stefan Pfeiffer, 950712
// Last Modification: 950712
// (C) 1995 by Stefan Pfeiffer, DL1ELY


void info_dl(char *call, char *info)
{
   if(call[1]=='A')
   {
      if(call[2]=='0')
      {
         strcpy(info,"Special station");
         return;
      }
      else
      {
         strcpy(info,"Military foreigner");
         return;
      };
   };

   if(call[2]=='0')
   {
      if(call[1]=='B')
      {
         strcpy(info,"Clubstation (VHF-licence)");
         return;
      };
      if((call[1]=='C')||(call[1]=='D')||(call[1]=='G'))
      {
         strcpy(info,"Individual licence (VHF)");
         return;
      };
      if(call[1]=='H')
      {
         strcpy(info,"Individual licence (lim. HF)");
         return;
      };
      if(call[1]=='J')
      {
         strcpy(info,"Individual licence (HF)");
         return;
      };
      strcpy(info,"Clubstation (HF-licence)");
      return;
   };
   if((call[1]=='B')||(call[1]=='C')||(call[1]=='D')||(call[1]=='G'))
   {
      strcpy(info,"Individual licence (VHF)");
      return;
   };
   if(call[1]=='H')
   {
      strcpy(info,"Individual licence (lim. HF)");
      return;
   };
   if((call[1]=='F')||(call[1]=='J')||(call[1]=='K')||(call[1]=='L'))
   {
      strcpy(info,"Individual licence (HF)");
      return;
   };

   return;
};

void info_oe(char *call, char *info)
{
   char ch;
   char npref[4];
   char ncall[12];
   char nadd[4];

   splitcall(call,npref,ncall,nadd);
   if((strlen(nadd)==1) && isdigit(nadd[0])) ch = nadd[0];
   else if(npref[0]) ch = npref[2];
      else ch = ncall[2];

   switch(ch)
   {
      case '1':
         strcpy(info,"Vienna");
         break;
      case '2':
         strcpy(info,"Salzburg");
         break;
      case '3':
         strcpy(info,"Nieder”sterreich");
         break;
      case '4':
         strcpy(info,"Burgenland");
         break;
      case '5':
         strcpy(info,"Ober”sterreich");
         break;
      case '6':
         strcpy(info,"Steiermark");
         break;
      case '7':
         strcpy(info,"Tirol");
         break;
      case '8':
         strcpy(info,"K„rnten");
         break;
      case '9':
         strcpy(info,"Vorarlberg");
         break;
   };

   if(npref[0]) return;

   if(strlen(ncall)==4)
   {
      strcat(info,", contest station");
      return;
   };
   if(ncall[3]=='X')
   {
      strcat(info,", clubstation");
      return;
   };
   if(ncall[3]=='Y') strcat(info,", YL station");

   return;
};

void info_pa(char *call, char *info)
{
   info[0] = 0;

   if(!strncmp(call,"PA6",3)) strcpy(info,"Special station");
   if(!strncmp(call,"PI5",3)) strcpy(info,"Army clubstation");

   if(!info[0])
   {
      if(call[1]=='A') strcpy(info,"Individual licence (HF)");
      if(call[1]=='B') strcpy(info,"Individual licence (lim. HF)");
      if(call[1]=='D') strcpy(info,"Individual licence (VHF, only FM)");
      if(call[1]=='E') strcpy(info,"Individual licence (VHF)");
      if(call[1]=='I') strcpy(info,"Clubstation");
   };

   if(strlen(call)==4) strcat(info,", contest station");

   return;
};

void info_f(char *call, char *info)
{
   char ch;
   char npref[4];
   char ncall[12];
   char nadd[4];

   splitcall(call,npref,ncall,nadd);

   if((!strncmp(ncall,"TM",2))||(!strncmp(ncall,"TP",2)))
   {
      strcpy(info,"Special station");
      return;
   };

   if((!strncmp(ncall,"FA1",3))||(!strncmp(ncall,"F1",2))||(!strncmp(ncall,"F4",2)))
      strcpy(info,"Individual licence (VHF)");

   if(!strncmp(ncall,"FB1",3)) strcpy(info,"Individual licence (HF)");

   if((ncall[2]=='K')&&(!info[0])&&(strlen(ncall)==5))
      if((ncall[1]=='1')||(call[1]=='5')||(call[1]=='6')||(call[1]=='8')) strcpy(info,"Clubstation");

   if(!npref[0] && (!info[0])) strcpy(info,"Individual licence (HF)");

   return;
};

void info_om(char *call, char *info)
{
   if((!strncmp(call,"OM3K",4))||(!strncmp(call,"OM3R",4)))
   {
      strcpy(info,"Clubstation");
      return;
   };

   if(strlen(call)==4)
   {
      strcpy(info,"Contest station");
      return;
   };

   if(!strncmp(call,"OM9",3))
   {
      if(strlen(call)==5) strcpy(info,"Special station");
         else strcpy(info,"Foreigner station");
      return;
   };

   if(strlen(call)==5) strcpy(info,"Individual licence (HF)");
      else strcpy(info,"Individual licence (VHF)");

   return;
};


void info_sp(char *call, char *info)
{
   char npref[4];
   char ncall[12];
   char nadd[4];

   splitcall(call,npref,ncall,nadd);

   if(npref[0]) return;

   if((strlen(ncall)==6)&&((ncall[3]=='P')||(ncall[3]=='Z')||(ncall[3]=='K')))
      strcpy(info,"Clubstation");
   else strcpy(info,"Individual licence");

   if((!strncmp(ncall,"SR",2))||(!strncmp(ncall,"SQ",2))||(!strncmp(ncall,"3Z",2)))
      strcpy(info,", special station");

   if(!strncmp(ncall,"SO",2)) strcat(info,", foreigner");

   if(!strncmp(ncall,"SN",2)) strcpy(info,"Contest station");

   return;
};

void info_i(char *call, char *info)
{
   char npref[4];
   char ncall[12];
   char nadd[4];

   splitcall(call,npref,ncall,nadd);

   switch(call[1])
   {
      case 'W':
         strcpy(info,"VHF licence");
         break;
      case 'O':
         strcpy(info,"Contest station");
         break;
      case 'I':
      case 'Q':
      case 'Y':
      case 'Z':
         strcpy(info,"Special station");
         break;
      default:
         strcpy(info,"HF licence");
         break;
   };
   return;
};


void info_ha(char *call, char *info)
{
   char npref[4];
   char ncall[12];
   char nadd[4];

   splitcall(call,npref,ncall,nadd);

   if(npref[0]) return;

   if((strlen(ncall)==6) && (ncall[3]=='K'))
      strcpy(info,"Clubstation");
   else
      strcpy(info,"Individual licence");

   if(!strncmp(ncall,"HA",2)) strcat(info," (HF)");
      else strcat(info," (VHF)");

   if(strlen(ncall)==4) strcpy(info,"Contest station");

   return;
};

void info_s5(char *call, char *info)
{
   char npref[4];
   char ncall[12];
   char nadd[4];

   splitcall(call,npref,ncall,nadd);

   if(npref[0]) return;

   if(strlen(ncall)==4 && ((ncall[2]=='0')||(ncall[2]=='1')))
      strcpy(info,"Clubstation");

   if(strlen(ncall)==6 && ((ncall[2]=='1')||(ncall[2]=='2')||(ncall[2]=='3')||(ncall[2]=='9')))
      strcpy(info,"Clubstation");

   if(!info[0]) strcpy(info,"Individual licence");

   return;
};

void info_on(char *call, char *info)
{
   char pref[4];
   char ncall[12];
   char add[4];

   splitcall(call,pref,ncall,add);

   if(pref[0]) return;

   if(ncall[1]=='Q')
   {
      strcpy(info,"Special station");
      return;
   };

   if(ncall[1]=='T')
   {
      strcpy(info,"Contest station");
      return;
   };

   switch(ncall[2])
   {
      case '1':
      case '2':
         strcpy(info,"VHF licence");
         break;
      case '4':
      case '5':
      case '6':
      case '7':
         strcpy(info,"HF licence");
         break;
      case '8':
      case '9':
         strcpy(info,"Foreign licence");
         break;
   };

   return;
};

void info_lx(char *call, char *info)
{
   char pref[4];
   char ncall[12];
   char add[4];

   splitcall(call,pref,ncall,add);

   if(pref[0]) return;

   if(ncall[2]=='4') strcpy(info,"Contest station");

   if(ncall[2]=='9') strcpy(info,"Clubstation");

   if((ncall[2]=='1')||(ncall[2]=='2')) strcpy(info,"HF licence");

   if(ncall[2]=='3') strcpy(info,"VHF licence");

   return;
};


void info_sm(char *call, char *info)
{
   if(call[1]=='L') strcpy(info,"Military clubstation");
   if(call[1]=='H') strcpy(info,"Beginner's licence");
   if(call[1]=='K') strcpy(info,"Clubstation or school station");
   if(call[1]=='M') strcpy(info,"Individual station");

   return;
};

void info_hb9(char *call, char *info)
{
   if(call[2]=='4')
   {
      strcpy(info,"Military clubstation");
      return;
   };

   if(strlen(call)==4)
   {
      strcpy(info,"Clubstation");
      return;
   };

   if(strlen(call)==5)
   {
      strcpy(info,"HF license");
      return;
   };

   if(call[3]>='M')
   {
      strcpy(info,"VHF license");
      return;
   };

   strcpy(info,"HF license");
   return;
};

   
