diff options
Diffstat (limited to 'gdb/common')
-rw-r--r-- | gdb/common/ptid.c | 29 | ||||
-rw-r--r-- | gdb/common/ptid.h | 9 |
2 files changed, 35 insertions, 3 deletions
diff --git a/gdb/common/ptid.c b/gdb/common/ptid.c index 506b5c2..e8d25c0 100644 --- a/gdb/common/ptid.c +++ b/gdb/common/ptid.c @@ -83,10 +83,33 @@ ptid_equal (ptid_t ptid1, ptid_t ptid2) int ptid_is_pid (ptid_t ptid) { - if (ptid_equal (minus_one_ptid, ptid)) - return 0; - if (ptid_equal (null_ptid, ptid)) + if (ptid_equal (minus_one_ptid, ptid) + || ptid_equal (null_ptid, ptid)) return 0; return (ptid_get_lwp (ptid) == 0 && ptid_get_tid (ptid) == 0); } + +/* Returns true if PTID represents a lwp. */ + +int +ptid_lwp_p (ptid_t ptid) +{ + if (ptid_equal (minus_one_ptid, ptid) + || ptid_equal (null_ptid, ptid)) + return 0; + + return (ptid_get_lwp (ptid) != 0); +} + +/* Returns true if PTID represents a tid. */ + +int +ptid_tid_p (ptid_t ptid) +{ + if (ptid_equal (minus_one_ptid, ptid) + || ptid_equal (null_ptid, ptid)) + return 0; + + return (ptid_get_tid (ptid) != 0); +} diff --git a/gdb/common/ptid.h b/gdb/common/ptid.h index fefe8b6..1326506 100644 --- a/gdb/common/ptid.h +++ b/gdb/common/ptid.h @@ -33,6 +33,9 @@ ptid_get_lwp - Fetch the lwp component of a ptid. ptid_get_tid - Fetch the tid component of a ptid. ptid_equal - Test to see if two ptids are equal. + ptid_is_pid - Test if a ptid is of the form (pid, 0, 0). + ptid_lwp_p - Test if a ptid's lwp component is non-zero. + ptid_tid_p - Test if a ptid's tid component is non-zero. Please do NOT access the struct ptid members directly (except, of course, in the implementation of the above ptid manipulation @@ -82,4 +85,10 @@ int ptid_equal (ptid_t p1, ptid_t p2); /* Return true if PTID represents a process id. */ int ptid_is_pid (ptid_t ptid); +/* Return true if PTID's lwp member is non-zero. */ +int ptid_lwp_p (ptid_t ptid); + +/* Return true if PTID's tid member is non-zero. */ +int ptid_tid_p (ptid_t ptid); + #endif |