2020-10-09 19:02:27 +00:00
|
|
|
#ifndef HEADER_ProcessLocksScreen
|
|
|
|
#define HEADER_ProcessLocksScreen
|
|
|
|
/*
|
|
|
|
htop - ProcessLocksScreen.h
|
|
|
|
(C) 2020 htop dev team
|
2021-09-22 09:33:00 +00:00
|
|
|
Released under the GNU GPLv2+, see the COPYING file
|
2020-10-09 19:02:27 +00:00
|
|
|
in the source distribution for its full text.
|
|
|
|
*/
|
|
|
|
|
2020-11-18 13:26:30 +00:00
|
|
|
#include <stdbool.h>
|
|
|
|
#include <stdint.h>
|
|
|
|
#include <sys/types.h>
|
2020-10-09 19:02:27 +00:00
|
|
|
|
2020-11-18 13:26:30 +00:00
|
|
|
#include "InfoScreen.h"
|
|
|
|
#include "Object.h"
|
|
|
|
#include "Process.h"
|
2020-10-09 19:02:27 +00:00
|
|
|
|
|
|
|
|
|
|
|
typedef struct ProcessLocksScreen_ {
|
|
|
|
InfoScreen super;
|
|
|
|
pid_t pid;
|
|
|
|
} ProcessLocksScreen;
|
|
|
|
|
2020-11-11 21:15:35 +00:00
|
|
|
typedef struct FileLocks_Data_ {
|
2020-11-13 20:34:21 +00:00
|
|
|
char* locktype;
|
|
|
|
char* exclusive;
|
|
|
|
char* readwrite;
|
|
|
|
char* filename;
|
2020-11-11 21:15:35 +00:00
|
|
|
int id;
|
|
|
|
unsigned int dev[2];
|
|
|
|
uint64_t inode;
|
|
|
|
uint64_t start;
|
|
|
|
uint64_t end;
|
|
|
|
} FileLocks_Data;
|
|
|
|
|
|
|
|
typedef struct FileLocks_LockData_ {
|
|
|
|
FileLocks_Data data;
|
|
|
|
struct FileLocks_LockData_* next;
|
|
|
|
} FileLocks_LockData;
|
|
|
|
|
|
|
|
typedef struct FileLocks_ProcessData_ {
|
|
|
|
bool error;
|
|
|
|
struct FileLocks_LockData_* locks;
|
|
|
|
} FileLocks_ProcessData;
|
|
|
|
|
2020-10-09 19:02:27 +00:00
|
|
|
extern const InfoScreenClass ProcessLocksScreen_class;
|
|
|
|
|
|
|
|
ProcessLocksScreen* ProcessLocksScreen_new(const Process* process);
|
|
|
|
|
|
|
|
void ProcessLocksScreen_delete(Object* this);
|
|
|
|
|
|
|
|
#endif
|