1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
| "use strict";
|
| const versions = require('../tds-versions').versionsByValue;
|
| const interfaceTypes = {
| 0: 'SQL_DFLT',
| 1: 'SQL_TSQL'
| };
|
| module.exports = function (parser, colMetadata, options, callback) {
| // length
| parser.readUInt16LE(() => {
| parser.readUInt8(interfaceNumber => {
| const interfaceType = interfaceTypes[interfaceNumber];
| parser.readUInt32BE(tdsVersionNumber => {
| const tdsVersion = versions[tdsVersionNumber];
| parser.readBVarChar(progName => {
| parser.readUInt8(major => {
| parser.readUInt8(minor => {
| parser.readUInt8(buildNumHi => {
| parser.readUInt8(buildNumLow => {
| callback({
| 'name': 'LOGINACK',
| 'event': 'loginack',
| 'interface': interfaceType,
| 'tdsVersion': tdsVersion,
| 'progName': progName,
| 'progVersion': {
| major: major,
| minor: minor,
| buildNumHi: buildNumHi,
| buildNumLow: buildNumLow
| }
| });
| });
| });
| });
| });
| });
| });
| });
| });
| };
|
|