UNPKG

@awo00/smb2

Version:

A SMB2 implementation in TypeScript

50 lines (49 loc) 1.79 kB
import { Socket } from "net"; import { EventEmitter } from "events"; import Request from "../protocol/smb2/Request"; import Response from "../protocol/smb2/Response"; import Header from "../protocol/smb2/Header"; import Session, { AuthenticateOptions } from "./Session"; export interface Options { port?: number; connectTimeout?: number; requestTimeout?: number; } interface Client { on(event: "error", callback: (error: Error) => void): this; on(event: "changeNotify", callback: (response: Response) => void): this; once(event: "error", callback: (error: Error) => void): this; once(event: "changeNotify", callback: (response: Response) => void): this; } declare class Client extends EventEmitter { host: string; options: Options; _id: string; socket: Socket; nextMessageId: bigint; responseRestChunk: Buffer; responseMap: Map<bigint, Response>; responseCallbackMap: Map<bigint, (response: Response) => void>; connected: boolean; port: number; connectTimeout: number; connectTimeoutId: NodeJS.Timeout; requestTimeout: number; requestTimeoutIdMap: Map<bigint, NodeJS.Timeout>; sessions: Session[]; constructor(host: string, options?: Options); connect(): Promise<void>; createRequest(header?: Header, body?: any): Request; request(header?: Header, body?: any): Promise<Response>; send(request: Request): Promise<Response>; onData: (buffer: Buffer) => void; onResponse(response: Response): void; onError: (err: Error) => void; onClose: (hadError: boolean) => void; echo(): Promise<Response>; authenticate(options: AuthenticateOptions): Promise<Session>; private destroySocket; private registerSession; close(): Promise<void>; } export default Client;