summaryrefslogtreecommitdiff
path: root/src/global.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/global.h')
-rw-r--r--src/global.h96
1 files changed, 96 insertions, 0 deletions
diff --git a/src/global.h b/src/global.h
new file mode 100644
index 0000000..4ccbcdf
--- /dev/null
+++ b/src/global.h
@@ -0,0 +1,96 @@
+/* ncdu - NCurses Disk Usage
+
+ Copyright (c) 2007-2009 Yoran Heling
+
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of this software and associated documentation files (the
+ "Software"), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so, subject to
+ the following conditions:
+
+ The above copyright notice and this permission notice shall be included
+ in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+*/
+
+#ifndef _global_h
+#define _global_h
+
+#include "config.h"
+#include <stdio.h>
+#include <sys/types.h>
+#include <limits.h>
+
+/* PATH_MAX 260 on Cygwin is too small for /proc/registry */
+#ifdef __CYGWIN__
+# if PATH_MAX < 1024
+# undef PATH_MAX
+# define PATH_MAX 1024
+# endif
+#endif
+
+/* get PATH_MAX */
+#ifndef PATH_MAX
+# ifdef _POSIX_PATH_MAX
+# define PATH_MAX _POSIX_PATH_MAX
+# else
+# define PATH_MAX 4096
+# endif
+#endif
+
+
+/* File Flags (struct dir -> flags) */
+#define FF_DIR 0x01
+#define FF_FILE 0x02
+#define FF_ERR 0x04 /* error while reading this item */
+#define FF_OTHFS 0x08 /* excluded because it was an other filesystem */
+#define FF_EXL 0x10 /* excluded using exlude patterns */
+#define FF_SERR 0x20 /* error in subdirectory */
+#define FF_BSEL 0x40 /* selected */
+
+/* Program states */
+#define ST_CALC 0
+#define ST_BROWSE 1
+#define ST_DEL 2
+#define ST_HELP 3
+#define ST_QUIT 4
+
+
+/* structure representing a file or directory */
+struct dir {
+ struct dir *parent, *next, *sub;
+ char *name;
+ off_t size, asize;
+ unsigned long items;
+ unsigned char flags;
+};
+
+/* program state */
+extern int pstate;
+/* minimum screen update interval when calculating, in ms */
+extern long update_delay;
+
+/* handle input from keyboard and update display */
+int input_handle(int);
+
+
+/* import all other global functions and variables */
+#include "exclude.h"
+#include "util.h"
+#include "calc.h"
+#include "delete.h"
+#include "browser.h"
+#include "help.h"
+#include "path.h"
+
+#endif