The OP's code is not legal C code. It is part of "Rational Test Realtime", an IBM product.
As for "void *". This is a C data type, not an rvalue or lvalue.
Code:
int x = 10;
int y = 0;
// In the following statement, x is an rvalue, the value stored in x, or the integer 10.
// y is an lvalue, or basically the location where to store the rvalue, 10.
y = x;
// Now the integer y is equal to the integer x.
// lvalues MUST be a variable that can be assigned.
// rvalues can be variables, constants, MACROS, a math expression, or the return value from a function call.
malloc() does return a "void *" rvalue, and can be assigned to an lvalue object, as I shown in my previous post.
You need to go back and study pointers as defined in C99 and C11 C Programming Standards.