widl: Support client/server generation for explicit_handle interfaces
(based on a patch by Eric Kohl).
This commit is contained in:
parent
c08e00a9ec
commit
0a2c5b73fd
|
@ -509,7 +509,7 @@ var_t* get_explicit_handle_var(func_t* func)
|
|||
while (NEXT_LINK(var)) var = NEXT_LINK(var);
|
||||
while (var)
|
||||
{
|
||||
if (var->type->type == RPC_FC_IGNORE)
|
||||
if (var->type->type == RPC_FC_BIND_PRIMITIVE)
|
||||
return var;
|
||||
|
||||
var = PREV_LINK(var);
|
||||
|
|
|
@ -936,6 +936,10 @@ static size_t write_typeformatstring_var(FILE *file, int indent,
|
|||
case RPC_FC_ENCAPSULATED_UNION:
|
||||
case RPC_FC_NON_ENCAPSULATED_UNION:
|
||||
return write_union_tfs(file, var->attrs, type, var->name, typeformat_offset);
|
||||
case RPC_FC_IGNORE:
|
||||
case RPC_FC_BIND_PRIMITIVE:
|
||||
/* nothing to do */
|
||||
return 0;
|
||||
default:
|
||||
error("write_typeformatstring_var: Unsupported type 0x%x for variable %s\n", type->type, var->name);
|
||||
}
|
||||
|
@ -1071,6 +1075,10 @@ static unsigned int get_required_buffer_size_type(
|
|||
*alignment = 8;
|
||||
return 8;
|
||||
|
||||
case RPC_FC_IGNORE:
|
||||
case RPC_FC_BIND_PRIMITIVE:
|
||||
return 0;
|
||||
|
||||
case RPC_FC_STRUCT:
|
||||
{
|
||||
size_t size = 0;
|
||||
|
@ -1268,6 +1276,10 @@ void marshall_arguments(FILE *file, int indent, func_t *func,
|
|||
case RPC_FC_BOGUS_STRUCT:
|
||||
ndrtype = "ComplexStruct";
|
||||
break;
|
||||
case RPC_FC_IGNORE:
|
||||
case RPC_FC_BIND_PRIMITIVE:
|
||||
/* no marshalling needed */
|
||||
continue;
|
||||
default:
|
||||
error("marshall_arguments: Unsupported type: %s (0x%02x, ptr_level: %d)\n",
|
||||
var->name, var->type->type, var->ptr_level);
|
||||
|
@ -1439,6 +1451,10 @@ void unmarshall_arguments(FILE *file, int indent, func_t *func,
|
|||
case RPC_FC_BOGUS_STRUCT:
|
||||
ndrtype = "ComplexStruct";
|
||||
break;
|
||||
case RPC_FC_IGNORE:
|
||||
case RPC_FC_BIND_PRIMITIVE:
|
||||
/* no unmarshalling needed */
|
||||
continue;
|
||||
default:
|
||||
error("unmarshall_arguments: Unsupported type: %s (0x%02x, ptr_level: %d)\n",
|
||||
var->name, var->type->type, var->ptr_level);
|
||||
|
|
Loading…
Reference in New Issue