Hi,
Just wanted to confirm my understanding is correct
userland strcuture
struct s2 {
int i;
char * c1;
}
struct s1 {
int * i1;
struct s2 *s;
}
if a pointer to s1 were to be passed to a function then
t1 = copyin(s1,4);
here t1 is dtrace pointer in the kernel address space; is this correct?
t2 = *t1 here you get the address of strcuture s1
i2 = copyin(t2,4);
i2 => again a dtrace pointer
i3 = *t2 = interger pointer;
i4 = i2->i1 (i4 has integer value)
i5 = copyin(t2+4,4)
i6 = *i5 i6 has the address of struct s2
i7 = i6-> i value of i in struct s2
is this correct? Thank you.
--
This message posted from opensolaris.org