*** empty log message ***
git-svn-id: svn://10.65.10.50/trunk@11886 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
349ff9ed3d
commit
6d32436f9e
@ -44,19 +44,11 @@ int OsLinux_EnumerateFamilies(char** families, int max_count)
|
||||
int OsLinux_EnumerateSizes(const char* name, long* sizes, short* scalable, int max_count)
|
||||
{
|
||||
int i = 0;
|
||||
TFontId f;
|
||||
wxPrinter printer;
|
||||
wxPostScriptDC dc(printer.GetPrintDialogData().GetPrintData());
|
||||
*scalable = 1;
|
||||
|
||||
f.SetFaceName(name);
|
||||
for (int size = 7; size < 80; size++)
|
||||
{
|
||||
f.SetPointSize(size);
|
||||
if (f.Font((wxDC *) &dc).Ok())
|
||||
sizes[i++] = size;
|
||||
}
|
||||
|
||||
return i;
|
||||
for (int size = 4; size < 80; size++)
|
||||
sizes[i++] = size;
|
||||
return i;
|
||||
}
|
||||
|
||||
void OsLinux_PlaceProcessInWindow(unsigned int instance, const char* name, unsigned int parent)
|
||||
@ -115,102 +107,64 @@ bool OsLinux_HL_Crypt(unsigned short* data) // Array di 4 words (8 bytes)
|
||||
// Eutron Smartlink Support
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
#include "skeylink.h"
|
||||
#include "skeylinux.h"
|
||||
|
||||
static KEY_NET _eutron_key;
|
||||
|
||||
static short smartlink(KEY_NET * key)
|
||||
{
|
||||
SKEY_DATA skey;
|
||||
int i;
|
||||
|
||||
skey.lpt = key->lpt;
|
||||
skey.command = key->command;
|
||||
for (i = 0; i < LABEL_LENGTH; i++)
|
||||
skey.label[i] = key->label[i];
|
||||
for (i = 0; i < PASSWORD_LENGTH; i++)
|
||||
skey.password[i] = key->password[i];
|
||||
for (i = 0; i < DATA_LENGTH; i++)
|
||||
skey.data[i] = key->data[i];
|
||||
skey.fail_counter = key->fail_counter;
|
||||
skey.status = key->status;
|
||||
for (i = 0; i < EXTENDED_DATA_LENGTH; i++)
|
||||
skey.ext_data[i] = key->ext_data[i];
|
||||
|
||||
short retval = clink(&skey);
|
||||
|
||||
key->lpt = skey.lpt;
|
||||
key->command = skey.command;
|
||||
for (i = 0; i < LABEL_LENGTH; i++)
|
||||
key->label[i] = skey.label[i];
|
||||
for (i = 0; i < PASSWORD_LENGTH; i++)
|
||||
key->password[i] = skey.password[i];
|
||||
for (i = 0; i < DATA_LENGTH; i++)
|
||||
key->data[i] = skey.data[i];
|
||||
key->fail_counter = skey.fail_counter;
|
||||
key->status = skey.status;
|
||||
for (i = 0; i < EXTENDED_DATA_LENGTH; i++)
|
||||
key->ext_data[i] = skey.ext_data[i];
|
||||
return retval;
|
||||
}
|
||||
static SKEY_DATA skey;
|
||||
|
||||
bool OsLinux_SL_Crypt(unsigned short* data)
|
||||
{
|
||||
_eutron_key.net_command = NET_KEY_ACCESS;
|
||||
_eutron_key.command = SCRAMBLING_MODE;
|
||||
memcpy(_eutron_key.data, data, 8);
|
||||
smartlink(&_eutron_key);
|
||||
if (_eutron_key.status == ST_OK)
|
||||
memcpy(data, _eutron_key.data, 8);
|
||||
return _eutron_key.status == ST_OK;
|
||||
skey.command = SCRAMBLING_MODE;
|
||||
memset(skey.data, 0, sizeof(skey.data));
|
||||
memcpy(skey.data, data, 8);
|
||||
clink(&skey);
|
||||
const bool ok = (skey.status == ST_OK);
|
||||
if (ok)
|
||||
memcpy(data, skey.data, 8);
|
||||
return ok;
|
||||
}
|
||||
|
||||
bool OsLinux_SL_Login(const unsigned char* label, const unsigned char* password)
|
||||
{
|
||||
memset(&_eutron_key, 0, sizeof(KEY_NET));
|
||||
_eutron_key.net_command = NET_KEY_OPEN;
|
||||
_eutron_key.status = ST_HW_FAILURE; // Don't leave ST_OK = 0 here!
|
||||
memcpy(_eutron_key.label, label, strlen((const char*)label));
|
||||
memcpy(_eutron_key.password, password, strlen((const char*)password));
|
||||
skey.command = LOCATING_MODE;
|
||||
skey.status = ST_HW_FAILURE; // Don't leave ST_OK = 0 here!
|
||||
memcpy(skey.label, label, strlen((const char*)label));
|
||||
memcpy(skey.password, password, strlen((const char*)password));
|
||||
|
||||
smartlink(&_eutron_key);
|
||||
return _eutron_key.status == ST_OK;
|
||||
clink(&skey);
|
||||
return skey.status == ST_OK;
|
||||
}
|
||||
|
||||
bool OsLinux_SL_Logout()
|
||||
{
|
||||
_eutron_key.net_command = NET_KEY_CLOSE;
|
||||
_eutron_key.command = 0;
|
||||
smartlink(&_eutron_key);
|
||||
skey.command = 0;
|
||||
clink(&skey);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool OsLinux_SL_ReadBlock(unsigned short reg, unsigned short size, unsigned short* data)
|
||||
{
|
||||
_eutron_key.net_command = NET_KEY_ACCESS;
|
||||
_eutron_key.command = BLOCK_READING_MODE;
|
||||
unsigned short* pointer = (unsigned short*)(&_eutron_key.data[0]);
|
||||
unsigned short* number = (unsigned short*)(&_eutron_key.data[2]);
|
||||
skey.command = BLOCK_READING_MODE;
|
||||
unsigned short* pointer = (unsigned short*)(&skey.data[0]);
|
||||
unsigned short* number = (unsigned short*)(&skey.data[2]);
|
||||
*pointer = reg;
|
||||
*number = size;
|
||||
smartlink(&_eutron_key);
|
||||
bool ok = _eutron_key.status == ST_OK;
|
||||
clink(&skey);
|
||||
const bool ok = skey.status == ST_OK;
|
||||
if (ok)
|
||||
memcpy(data, &_eutron_key.data[4], size*sizeof(unsigned short));
|
||||
memcpy(data, &skey.data[4], size*sizeof(unsigned short));
|
||||
return ok;
|
||||
}
|
||||
|
||||
bool OsLinux_SL_WriteBlock(unsigned short reg, unsigned short size, const unsigned short* data)
|
||||
{
|
||||
_eutron_key.net_command = NET_KEY_ACCESS;
|
||||
_eutron_key.command = BLOCK_WRITING_MODE;
|
||||
unsigned short* pointer = (unsigned short*)(&_eutron_key.data[0]);
|
||||
unsigned short* number = (unsigned short*)(&_eutron_key.data[2]);
|
||||
skey.command = BLOCK_WRITING_MODE;
|
||||
unsigned short* pointer = (unsigned short*)(&skey.data[0]);
|
||||
unsigned short* number = (unsigned short*)(&skey.data[2]);
|
||||
*pointer = reg;
|
||||
*number = size;
|
||||
memcpy(&_eutron_key.data[4], data, size*sizeof(unsigned short));
|
||||
smartlink(&_eutron_key);
|
||||
return _eutron_key.status == ST_OK;
|
||||
memcpy(&skey.data[4], data, size*sizeof(unsigned short));
|
||||
clink(&skey);
|
||||
return skey.status == ST_OK;
|
||||
}
|
||||
|
||||
void OsLinux_GetFileSys(const char* path, char * dev, char * dir, char * type)
|
||||
|
84
xvaga/skeylinux.h
Executable file
84
xvaga/skeylinux.h
Executable file
@ -0,0 +1,84 @@
|
||||
#ifndef __SKEYLINK_H
|
||||
#define __SKEYLINK_H
|
||||
|
||||
#ifndef __SKEYDRV_H
|
||||
#define __SKEYDRV_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/***************************************************************************/
|
||||
/* Smartkey mode codes */
|
||||
|
||||
#define SCRAMBLING_MODE 's'
|
||||
#define READING_MODE 'r'
|
||||
#define WRITING_MODE 'w'
|
||||
#define FIXING_MODE 'f'
|
||||
#define LOCATING_MODE 'l'
|
||||
#define COMPARING_MODE 'c'
|
||||
#define PROGRAMMING_MODE 'p'
|
||||
#define MODEL_READING_MODE 'm'
|
||||
#define ENCRYPTING_MODE 'e'
|
||||
#define SERIAL_NUMBER_READING_MODE 'n'
|
||||
#define FIX_READING_MODE 'x'
|
||||
#define EXT_MODEL_READING_MODE 'h'
|
||||
#define FAIL_COUNTER_READING_MODE 'a'
|
||||
#define BLOCK_READING_MODE ('b' | ((unsigned)'r' << 8))
|
||||
#define BLOCK_WRITING_MODE ('b' | ((unsigned)'w' << 8))
|
||||
|
||||
/***************************************************************************/
|
||||
/* Smartkey models */
|
||||
|
||||
#define SKEY_NONE '0' /* No Smartkey */
|
||||
#define SKEY_FX '1' /* Smartkey mod. FX */
|
||||
#define SKEY_PR '2' /* Smartkey mod. PR */
|
||||
#define SKEY_EP '3' /* Smartkey mod. EP */
|
||||
#define SKEY_SP '9' /* Smartkey mod. SP */
|
||||
#define SKEY_NET 'A' /* Smartkey mod. NET */
|
||||
|
||||
/***************************************************************************/
|
||||
/* Return codes */
|
||||
|
||||
#define ST_OK 0 /* No errors */
|
||||
#define ST_NONE_KEY -1 /* No Smartkey present */
|
||||
#define ST_SYNT_ERR -2 /* Syntax error */
|
||||
#define ST_LABEL_FAILED -3 /* Uncorrect label */
|
||||
#define ST_PW_DATA_FAILED -4 /* Uncorrect password or data */
|
||||
#define ST_HW_FAILURE -20 /* Smartkey damaged */
|
||||
|
||||
/***************************************************************************/
|
||||
/* Field length */
|
||||
|
||||
#define LABEL_LENGTH 16
|
||||
#define PASSWORD_LENGTH 16
|
||||
#define DATA_LENGTH 64
|
||||
#define EXTENDED_DATA_LENGTH 352
|
||||
#define SCRAMBLE_LENGTH 8
|
||||
|
||||
/***************************************************************************/
|
||||
/* Communication structure definition */
|
||||
|
||||
typedef struct smartkey {
|
||||
short lpt;
|
||||
short command;
|
||||
unsigned char label[LABEL_LENGTH];
|
||||
unsigned char password[PASSWORD_LENGTH];
|
||||
unsigned char data[DATA_LENGTH];
|
||||
short fail_counter;
|
||||
short status;
|
||||
unsigned char ext_data[EXTENDED_DATA_LENGTH];
|
||||
} SKEY_DATA;
|
||||
|
||||
/***************************************************************************/
|
||||
/* Interface function prototype */
|
||||
|
||||
int clink(SKEY_DATA*);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
@ -766,7 +766,7 @@ int xvt_fsys_get_campo_stp_value(const char* name, char* value, int valsize)
|
||||
|
||||
Versione WIN32 e LINUX.
|
||||
@(FSV)
|
||||
*/
|
||||
*/
|
||||
const char* xvt_fsys_get_campo_ini()
|
||||
{
|
||||
static char* prawin = NULL;
|
||||
@ -774,12 +774,12 @@ const char* xvt_fsys_get_campo_ini()
|
||||
{
|
||||
BOOLEAN bFound = FALSE;
|
||||
char exedir[_MAX_PATH], path[_MAX_PATH];
|
||||
#ifdef WIN32
|
||||
// Nelle installazioni sfigate con programmi in rete cerca di stabilire il percorso locale di Campo.ini
|
||||
DIRECTORY dir;
|
||||
DIRECTORY dir;
|
||||
|
||||
xvt_fsys_get_default_dir(&dir);
|
||||
xvt_fsys_convert_dir_to_str(&dir, exedir, sizeof(exedir));
|
||||
#ifdef WIN32
|
||||
if (xvt_fsys_is_network_drive(exedir))
|
||||
{
|
||||
bFound = xvt_fsys_get_campo_stp_value("CampoIni", path, sizeof(path));
|
||||
@ -807,9 +807,20 @@ const char* xvt_fsys_get_campo_ini()
|
||||
#endif
|
||||
if (!xvt_fsys_file_exists(path))
|
||||
{
|
||||
#ifdef LINUX
|
||||
char pathstd[_MAX_PATH];
|
||||
xvt_fsys_build_pathname(pathstd, NULL, exedir, "campo", "ini", NULL);
|
||||
if (!xvt_fsys_file_exists(pathstd))
|
||||
{
|
||||
#endif
|
||||
char msg[256];
|
||||
sprintf(msg, "Impossibile aprire '%s'", (const char *)path);
|
||||
xvt_dm_post_fatal_exit(msg);
|
||||
#ifdef LINUX
|
||||
}
|
||||
else
|
||||
wxCopyFile(pathstd, path);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
prawin = xvt_str_duplicate(path);
|
||||
|
Loading…
x
Reference in New Issue
Block a user