TtmpPushTerminalState
CHAR __fastcall TtmpPushTerminalState(INT64 *a1, INT64 a2){
INT64 v2;
CHAR v3;
int TerminalById;
__int64 v7;
INT64 v8;
UINT64 v9;
__int64 v11;
v2 = *(unsigned int *)(a2 + 596);
v3 = 0;
v11 = 0i64;
if( (_DWORD)v2 != -1 )
{
TerminalById = TtmiGetTerminalById(&v11, (INT64)a1, v2);
if( TerminalById >= 0 )
{
v7 = v11;
v8 = *(unsigned int *)(v11 + 276);
if( (*((_DWORD *)a1 + 1) & 8) != 0 || (unsigned int)(v8 - 2) > 1 )
{
TtmpQueueTerminalDisplayStateOntoDevice((INT64)a1, a2, v8);
v9 = *(unsigned int *)(v7 + 48);
if( (_DWORD)v9 == 2 && *(char *)(a2 + 600) >= 0 )
v9 = 1i64;
if( *(_QWORD *)(a2 + 64) )
TtmpCallSetInputMode(a1, a2, v9);
}
else
{
return 1;
}
}
else
{
TtmiLogError((PSTR)"TtmpPushTerminalState", 3175i64, (unsigned int)TerminalById, 0xFFFFFFFFi64);
}
}
return v3;
}Referenced by:
TtmiSessionDeviceListWorker