list-open-files
Version:
lsof for Node.js but with a modern API
76 lines (75 loc) • 2.58 kB
TypeScript
import { RawType, Access, Lock, Size, INode, LinkCount, FileDescriptor, MajorMinorDeviceNumber, RawFileFlags, Offset, FileStructureShareCount, CharacterCode, FileStructureAddress, LoginName, Node, ProtocolName, DeviceNumber, StreamIdentification, TcpTpiInformation, SolarisZoneName, SELinuxSecurityContext } from "./backends/lsof/types";
export declare type Type = Exclude<RawType, 'IPv4' | 'IPv6'> | 'IP';
export interface FileBase {
type: Type;
access: Access | void;
lock: Lock | void;
size: Size | void;
iNode: INode | void;
linkCount: LinkCount | void;
name: string | void;
}
export interface FileDescriptorBase extends FileBase {
fd: number;
}
export declare type InternalFileType = Exclude<FileDescriptor, number>;
export interface InternalFile extends FileBase {
fd: InternalFileType;
}
export interface IP {
address: string;
port: number;
}
export interface FileDescriptorIP extends FileDescriptorBase {
type: 'IP';
protocol: 'TCP' | 'UDP';
version: 4 | 6;
from: IP | void;
to: IP | void;
}
export interface File extends FileDescriptorBase {
majorMinorDeviceNumber: MajorMinorDeviceNumber | void;
flags: RawFileFlags | void;
offset: Offset | void;
}
export interface UnknownFile extends FileDescriptorBase {
cmd: string | undefined;
fileStructureShareCount: FileStructureShareCount | undefined;
charCode: CharacterCode | undefined;
majorMinorDeviceNumber: MajorMinorDeviceNumber | undefined;
fileStructureAddress: FileStructureAddress | undefined;
flags: RawFileFlags | undefined;
loginName: LoginName | undefined;
node: Node | undefined;
offset: Offset | undefined;
protocolName: ProtocolName | undefined;
deviceNumber: DeviceNumber | undefined;
streamIdentification: StreamIdentification | undefined;
tcpTpiInformation: TcpTpiInformation | undefined;
solarisZoneName: SolarisZoneName | undefined;
seLinuxSecurityContext: SELinuxSecurityContext | undefined;
1: any | undefined;
2: any | undefined;
3: any | undefined;
4: any | undefined;
5: any | undefined;
6: any | undefined;
7: any | undefined;
8: any | undefined;
9: any | undefined;
}
export interface Process {
pid: number;
gpid?: number;
ppid?: number;
tid?: number;
user?: string;
name?: string;
cwd?: InternalFile;
}
export declare type ProcessFile = File | FileDescriptorIP | UnknownFile;
export interface ProcessInfo {
process: Process;
files: Array<ProcessFile>;
texts: Array<InternalFile>;
}