]> git.itanic.dy.fi Git - scan-pagemap/blobdiff - pagemap.h
Add support for parsing multiple pid numbers
[scan-pagemap] / pagemap.h
index 1d4780e5c9395fa1a1a063351c36a689b2aad651..c2f712d6bd5167ae4030a07d10d959b126b752a9 100644 (file)
--- a/pagemap.h
+++ b/pagemap.h
@@ -100,13 +100,39 @@ struct process {
 #define PARSE_DUMP             0x8
 #define PARSE_NOADD_TREE       0x10
 
+struct pidlist {
+       struct list_head list;
+
+       int pid;
+};
+
 struct parse_opts {
+       struct list_head pidlist;
+
        int parse_mask;
-       int pid;
        char *name;
        int with_threads;
 };
 
+static inline void init_parse_opts(struct parse_opts *p)
+{
+       memset(p, 0, sizeof(*p));
+       INIT_LIST_HEAD(&p->pidlist);
+}
+
+static inline struct pidlist *alloc_pidlist(void)
+{
+       struct pidlist *p = malloc(sizeof(*p));
+
+       if (p == NULL)
+               return p;
+
+       memset(p, 0, sizeof(*p));
+       INIT_LIST_HEAD(&p->list);
+
+       return p;
+}
+
 #define is_parse_option(parse_opts, flag) \
        (!!((parse_opts)->parse_mask & (flag)))