diff options
author | aiju <devnull@localhost> | 2018-12-09 21:43:22 +0000 |
---|---|---|
committer | aiju <devnull@localhost> | 2018-12-09 21:43:22 +0000 |
commit | ca851bbb5e93d6f208d967edd898e7042833889b (patch) | |
tree | 202ceb2a6c8411c5bc8d898bca85522a9274c665 /sys/include | |
parent | b96be173766c58ccfcc3abc84bd751ba000be838 (diff) |
dtracy: call dtptrigger with a struct pointer rather than a list of arguments; put return value in arg9
Diffstat (limited to 'sys/include')
-rw-r--r-- | sys/include/dtracy.h | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/sys/include/dtracy.h b/sys/include/dtracy.h index 208b4a687..3e2ff81f1 100644 --- a/sys/include/dtracy.h +++ b/sys/include/dtracy.h @@ -30,6 +30,7 @@ typedef struct DTExpr DTExpr; typedef struct DTProvider DTProvider; typedef struct DTAgg DTAgg; typedef struct DTBuf DTBuf; +typedef struct DTTrigInfo DTTrigInfo; struct DTName { char *provider; @@ -223,13 +224,25 @@ struct DTChan { DTEnab *enab; }; +/* this struct collects the state during the execution of a probe */ +struct DTTrigInfo { + /* filled in by caller of dtptrigger */ + u64int arg[10]; + /* filled in by dtptrigger */ + int machno; + int epid; + u64int ts; + DTChan *ch; +}; + + void dtinit(int); void dtsync(void); /* probe functions */ DTProbe *dtpnew(DTName, DTProvider *, void *aux); int dtpmatch(DTName, DTProbe ***); -void dtptrigger(DTProbe *, int, uvlong, uvlong, uvlong, uvlong); +void dtptrigger(DTProbe *, int, DTTrigInfo *); /* expression functions */ int dteverify(DTExpr *); |