~martin-decky/helenos/rcu

« back to all changes in this revision

Viewing changes to uspace/app/bdsh/cmds/modules/rm/rm.h

  • Committer: Vojtech Horky
  • Date: 2012-05-23 12:03:26 UTC
  • mfrom: (1443.1.19 misc)
  • mto: This revision was merged to the branch mainline in revision 1479.
  • Revision ID: vojtechhorky@users.sourceforge.net-20120523120326-jv50stjymxmh598s
Merge GSOC-originated patches 

Merge from lp:~vojtech-horky/helenos/misc.

The merge includes:
 * Switching to previous directory with `cd -' in Bdsh
 * Interactive mode for cp module in Bdsh
 * Implementation of sleep command
 * printf and echo for Bdsh
 * Rewrite of the mkdir module
 * Ctrl-arrow jumps over words in the editor
 * The scripts work with Python 3

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
#ifndef RM_H
2
2
#define RM_H
3
3
 
4
 
/* Return values for rm_scope() */
5
 
#define RM_BOGUS 0
6
 
#define RM_FILE  1
7
 
#define RM_DIR   2
8
 
 
9
 
/* Flags for rm_update() */
10
 
#define _RM_ENTRY   0
11
 
#define _RM_ADVANCE 1
12
 
#define _RM_REWIND  2
13
 
#define _RM_EXIT    3
14
 
 
15
 
/* A simple job structure */
16
 
typedef struct {
17
 
        /* Options set at run time */
18
 
        unsigned int force;      /* -f option */
19
 
        unsigned int recursive;  /* -r option */
20
 
        unsigned int safe;       /* -s option */
21
 
 
22
 
        /* Keeps track of the job in progress */
23
 
        int advance; /* How far deep we've gone since entering */
24
 
        DIR *entry;  /* Entry point to the tree being removed */
25
 
        char *owd;   /* Where we were when we invoked rm */
26
 
        char *cwd;   /* Current directory being transversed */
27
 
        char *nwd;   /* Next directory to be transversed */
28
 
 
29
 
        /* Counters */
30
 
        int f_removed; /* Number of files unlinked */
31
 
        int d_removed; /* Number of directories unlinked */
32
 
} rm_job_t;
33
 
 
34
 
 
35
4
/* Prototypes for the rm command, excluding entry points */
36
 
static unsigned int rm_start(rm_job_t *);
37
 
static void rm_end(rm_job_t *rm);
38
 
static unsigned int rm_recursive(const char *);
39
 
static unsigned int rm_single(const char *);
40
 
static unsigned int rm_scope(const char *);
41
5
 
42
6
#endif /* RM_H */
43
7