source: lsf/trunk/fuentes/include/lsf-1.0/system.hpp @ 88

Last change on this file since 88 was 88, checked in by jrpelegrina, 5 years ago

First relase to xenial

File size: 1.4 KB
Line 
1
2#ifndef _LSF_SYSTEM_
3#define _LSF_SYSTEM_
4
5#include <string>
6#include <vector>
7
8namespace net
9{
10        namespace lliurex
11        {
12                namespace system
13                {
14                        class ProcessInfo
15                        {
16                                public:
17                                        std::string cmdline; /*!< complete command line string */
18                                        std::string comm; /*!< exec name */
19                        };
20                       
21                        class MountInfo
22                        {
23                                public:
24                                        std::string device; /*!< device mount point */
25                                        std::string mount_point; /*!< mount point path */
26                                        std::string type; /*!< type of mount */
27                                        std::string options; /*!< mount options */
28                                        bool dumb; /*!< dumb mode */
29                                        bool pass; /*!< pass mode */
30                        };
31                       
32                        /*!
33                                fills the vector with the current list of process id
34                                \returns Output vector where list is stored
35                        */ 
36                        std::vector<unsigned int> GetProcessList();
37                       
38                        /*!
39                                Gets basic process info, with a given PID
40                                \param pid Process id
41                                \return A ProcessInfo class
42                        */
43                        ProcessInfo GetProcessInfo(unsigned int pid);
44                       
45                        /*!
46                                Gets the list of current loaded modules
47                                \returns Output vector where list is stored
48                        */
49                        std::vector<std::string> GetModuleList();
50                       
51                        /*!
52                                Gets current mount points
53                                \returns Output vector where list is stored
54                        */
55                        std::vector<MountInfo> GetMountList();
56                       
57                        /*!
58                                Gets total amount of system memory (RAM)
59                        */
60                        long GetSystemMemory();
61                       
62                        /*!
63                                Gets amount of available system memory
64                        */
65                        long GetFreeSystemMemory();
66                }
67        }
68}
69#endif
Note: See TracBrowser for help on using the repository browser.