Plan 9 from Bell Labs’s /usr/web/sources/contrib/rminnich/trace/9.probe/pc/probe.h

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


typedef struct Probe Probe;

struct Probe {
	/* probe386.s knows offsets of these */
	void (*entry)(Probe *);
	void (*exit)(Probe *);
	void *func;
	void *saveret;
	u32int *argp;
	u32int rval;
	u32int orig[2];
	u32int probe[2];
	u32int exitcode[32];
	u32int entrycode[32];
	/* rest if devprobe */
	Probe *next;
	char name[16];
	int enabled;
	uvlong ticks;
	u32int arg0;
};

/* probe386.s */
extern void pentrytmpl(void);
extern void pexittmpl(void);

/* arch dependent probe.c */
extern void freeprobe(Probe *);
extern Probe *mkprobe(void *, void (*)(Probe *), void (*)(Probe *));
extern void probeuninstall(Probe *);
extern void probeinstall(Probe *);

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to [email protected].