fsys.h 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. typedef struct netsnmp_fsys_info_s netsnmp_fsys_info;
  2. #define _NETSNMP_FS_TYPE_SKIP_BIT 0x2000
  3. #define _NETSNMP_FS_TYPE_LOCAL 0x1000
  4. /*
  5. * Enumeration from HOST-RESOURCES-TYPES mib
  6. */
  7. #define NETSNMP_FS_TYPE_OTHER 1
  8. #define NETSNMP_FS_TYPE_UNKNOWN 2
  9. #define NETSNMP_FS_TYPE_BERKELEY 3
  10. #define NETSNMP_FS_TYPE_SYSV 4
  11. #define NETSNMP_FS_TYPE_FAT 5
  12. #define NETSNMP_FS_TYPE_HPFS 6
  13. #define NETSNMP_FS_TYPE_HFS 7
  14. #define NETSNMP_FS_TYPE_MFS 8
  15. #define NETSNMP_FS_TYPE_NTFS 9
  16. #define NETSNMP_FS_TYPE_VNODE 10
  17. #define NETSNMP_FS_TYPE_JFS 11
  18. #define NETSNMP_FS_TYPE_ISO9660 12
  19. #define NETSNMP_FS_TYPE_ROCKRIDGE 13
  20. #define NETSNMP_FS_TYPE_NFS 14
  21. #define NETSNMP_FS_TYPE_NETWARE 15
  22. #define NETSNMP_FS_TYPE_AFS 16
  23. #define NETSNMP_FS_TYPE_DFS 17
  24. #define NETSNMP_FS_TYPE_APPLESHARE 18
  25. #define NETSNMP_FS_TYPE_RFS 19
  26. #define NETSNMP_FS_TYPE_DGCS 20
  27. #define NETSNMP_FS_TYPE_BOOTFS 21
  28. #define NETSNMP_FS_TYPE_FAT32 22
  29. #define NETSNMP_FS_TYPE_EXT2 23
  30. /*
  31. * Additional enumerationis - not listed in that MIB
  32. */
  33. #define NETSNMP_FS_TYPE_IGNORE (1 | _NETSNMP_FS_TYPE_LOCAL | _NETSNMP_FS_TYPE_SKIP_BIT)
  34. #define NETSNMP_FS_TYPE_PROC (2 | _NETSNMP_FS_TYPE_LOCAL | _NETSNMP_FS_TYPE_SKIP_BIT)
  35. #define NETSNMP_FS_TYPE_DEVPTS (3 | _NETSNMP_FS_TYPE_LOCAL | _NETSNMP_FS_TYPE_SKIP_BIT)
  36. #define NETSNMP_FS_TYPE_SYSFS (4 | _NETSNMP_FS_TYPE_LOCAL | _NETSNMP_FS_TYPE_SKIP_BIT)
  37. #define NETSNMP_FS_TYPE_TMPFS (5 | _NETSNMP_FS_TYPE_LOCAL)
  38. #define NETSNMP_FS_TYPE_USBFS (6 | _NETSNMP_FS_TYPE_LOCAL)
  39. #define NETSNMP_FS_FLAG_ACTIVE 0x01
  40. #define NETSNMP_FS_FLAG_REMOTE 0x02
  41. #define NETSNMP_FS_FLAG_RONLY 0x04
  42. #define NETSNMP_FS_FLAG_BOOTABLE 0x08
  43. #define NETSNMP_FS_FLAG_REMOVE 0x10
  44. #define NETSNMP_FS_FLAG_UCD 0x20
  45. #define NETSNMP_FS_FIND_CREATE 1 /* or use one of the type values */
  46. #define NETSNMP_FS_FIND_EXIST 0
  47. struct netsnmp_fsys_info_s {
  48. netsnmp_index idx;
  49. /* int idx; */
  50. char path[ SNMP_MAXPATH+1];
  51. char device[SNMP_MAXPATH+1];
  52. int type;
  53. unsigned long long size;
  54. unsigned long long used;
  55. unsigned long long avail;
  56. unsigned long long units;
  57. /* artificially computed values, both 'size_32' and 'units_32' fit INT32 */
  58. unsigned long size_32;
  59. unsigned long used_32;
  60. unsigned long avail_32;
  61. unsigned long units_32;
  62. unsigned long long inums_total;
  63. unsigned long long inums_avail;
  64. int minspace;
  65. int minpercent;
  66. long flags;
  67. netsnmp_fsys_info *next;
  68. };
  69. /*
  70. * Possibly not all needed ??
  71. */
  72. netsnmp_fsys_info *netsnmp_fsys_get_first( void );
  73. netsnmp_fsys_info *netsnmp_fsys_get_next( netsnmp_fsys_info* );
  74. netsnmp_fsys_info *netsnmp_fsys_get_byIdx( int, int );
  75. netsnmp_fsys_info *netsnmp_fsys_get_next_byIdx(int,int );
  76. netsnmp_fsys_info *netsnmp_fsys_by_device( char*, int );
  77. netsnmp_fsys_info *netsnmp_fsys_by_path( char*, int );
  78. netsnmp_cache *netsnmp_fsys_get_cache( void );
  79. int netsnmp_fsys_load( netsnmp_cache *cache, void *data );
  80. void netsnmp_fsys_free( netsnmp_cache *cache, void *data );
  81. int netsnmp_fsys_size( netsnmp_fsys_info* );
  82. int netsnmp_fsys_used( netsnmp_fsys_info* );
  83. int netsnmp_fsys_avail(netsnmp_fsys_info* );
  84. unsigned long long netsnmp_fsys_size_ull( netsnmp_fsys_info* );
  85. unsigned long long netsnmp_fsys_used_ull( netsnmp_fsys_info* );
  86. unsigned long long netsnmp_fsys_avail_ull(netsnmp_fsys_info* );
  87. void netsnmp_fsys_calculate32( netsnmp_fsys_info *f);