Digital DCE for OpenVMS VAX and OpenVMS 
Alpha
Reference Guide
Name name differs from a previous name only in case
  - Explanation: The target language selected is not 
  case-sensitive with respect to identifiers; that is, any two 
  identifiers that differ only in case are considered to be identical. 
  The IDL source contains two distinct identifiers that differ only in 
  case, but they conflict with each other in the generated language 
  header file. 
 User Action: Edit the IDL source code 
  to remove the conflict.
Nonscalar function result converted to trailing [out] 
parameter
  - Explanation: The target language selected does not 
  allow the function result argument of a routine to be a nonscalar type. 
  The IDL compiler converts such a construct to a trailing 
  [out] parameter. 
 User Action: No 
  action is required. You might want to edit your IDL source and change 
  the declaration from a function result to an [out] 
  parameter in order to map naturally to the target language.
Operation with [cs_tag_rtn] contains no codeset tag 
parameters
  - Explanation: The [cs_tag_rtn] 
  attribute normally appears on an operation only if it has least one 
  parameter with a [cs_stag], 
  [cs_drtag], or [cs_rtag] attribute. 
  
 User Action: Make sure the ACF declaration for the 
  operation has one or more of the above tags applied to parameter(s) in 
  the operation.
Operation with [decode] has [in]-only 
parameter name
  - Explanation: The client stub for an operation with 
  the [decode] attribute decodes encoded data into 
  operation parameters with the [out] attribute. 
  Parameters with only the [in] attribute are ignored. 
  
 User Action: If any client will encode the data by 
  applying the [encode] attribute to the operation, the 
  operation must contain all [in,out] parameters except 
  for the binding handle parameter.
Operation with [decode] must have at least one 
[out] or [in,out] parameter
  - Explanation: The client stub for an operation with 
  the [decode] ACF attribute decodes a data stream into 
  the operation's [out] and [in,out] 
  parameters. The [decode] attribute is not meaningful 
  on an operation with only [in] parameters. 
  
 User Action: Perhaps you meant to use the 
  [encode] attribute on the operation. If not, either 
  remove the [decode] attribute or add the 
  [out] attribute to one or more parameters.
Operation with [encode] has 
[out]-only parameter name
  - Explanation: The client stub for an operation with 
  the [encode] attribute encodes all of the operation 
  parameters with the [in] attribute. Parameters with 
  only the [out] attribute are ignored. 
 User 
  Action: If any client will decode the encoded information by 
  applying the [decode] attribute to the operation, the 
  operation must contain all [in,out] parameters except 
  for the binding handle parameter.
Operation with [encode] must have at least one 
[in] or [in,out] parameter
  - Explanation: The client stub for an operation with 
  the [encode] ACF attribute encodes the operation's 
  [in] and [in,out] parameters into a 
  data stream. The [encode] attribute is not meaningful 
  on an operation with only [out] parameters (excluding 
  the binding handle parameter). 
 User Action: 
  Perhaps you meant to use the [decode] attribute on the 
  operation. If not, either remove the [encode] 
  attribute or add the [in] attribute to one or more 
  parameters.
Operation with [encode] or [decode] 
may not contain pipe parameters
  - Explanation: The IDL encoding services do not 
  support pipes. 
 User Action: Use arrays to 
  represent the data, or utilize multiple procedure calls to encode or 
  decode the data.
Operation with [encode] or [decode] 
must use explicit binding
  - Explanation: An operation with either of the 
  [encode] or [decode] attributes may 
  not use automatic, customized, or implicit binding. 
 User 
  Action: Edit the IDL operation definition to have an item of 
  type handle_t as its first argument, or edit the ACF operation 
  declaration to include the [explicit_handle] attribute.
Operation with [encode,decode] must have all 
[in,out] parameters
  - Explanation: The client stub for an operation with 
  the [encode,decode] attributes can encode the 
  operation's parameters into a data stream and subsequently decode the 
  data back into parameters. This makes sense only if the decoded data 
  agrees with the originally encoded [in] parameters. 
  
 User Action: The operation must contain all 
  [in,out] parameters except for the binding handle 
  parameter.
Operation with [in] [cs_char] data 
requires [cs_stag] parameter
  - Explanation: If any [in] 
  parameter, or part of an [in] parameter, has a 
  [cs_char] type, there must be a parameter in the same 
  operation to which [cs_stag] is applied. 
  
 User Action: Make sure the ACF declaration for the 
  operation has the [cs_stag] attribute applied to one 
  of the parameters in the operation.
Operation with [out] [cs_char] data 
requires [cs_rtag] parameter
  - Explanation: If any [out] 
  parameter, or part of an [out] parameter, has a 
  [cs_char] type, there must be a parameter in the same 
  operation to which [cs_rtag] is applied. 
  
 User Action: Make sure the ACF declaration for the 
  operation has the [cs_rtag] attribute applied to one 
  of the parameters in the operation.
Operation with [reflect_deletions] has no 
[in] or [in,out] full pointers
  - Explanation: Reflection of node deletions from 
  server to client is only applicable to operations that have 
  [in] or [in,out] full 
  ([ptr]) pointers. The attribute thus has no effect on 
  the indicated operation. 
 User Action: Remove the 
  [reflect_deletions] attribute from the operation to 
  avoid this warning message.
Pipes not supported for target language
  - Explanation: The data structures necessary to 
  manage IDL pipes do not have a source representation in the target 
  language selected. 
 User Action: Pipe objects will 
  have no corresponding definition in the generated language header file. 
  Application code for operations with pipes should be written in another 
  programming language.
Pointer attributes are ignored on an interface reference
  - Explanation: Interface references are not managed 
  in the same way as other pointers and references in IDL. Thus, the 
  pointer attributes [ref], [unique], 
  and [ptr] are not meaningful on an interface 
  reference. 
 User Action: No action is required, 
  since the pointer attribute is ignored and the IDL compiler continues 
  processing. To eliminate the warning message, remove the pointer 
  attribute from the declaration.
Static property or ACF attribute [cxx_static] is 
ignored except for -lang cxx
  - Explanation: The IDL static 
  keyword on an operation, as well as the ACF 
  [cxx_static] attribute on an operation, only pertain 
  to interfaces that are compiled with the -lang cxx IDL 
  compiler option. 
 User Action: If your application 
  code is written in C++, then you must use the -lang 
  cxx option to the IDL compiler in order to enable generation 
  of C++ header file and stub files. Otherwise, no action is required, 
  since the static property is ignored, and the IDL compiler continues 
  processing. To eliminate the warning message, remove the static 
  property from the declaration.
Structures with [transmit_as] or 
[represent_as] cannot be conformant
  - Explanation: IDL does not support a conformant 
  structure with the [transmit_as] or 
  [represent_as] attribute. 
 User 
  Action: Either change the declaration so the structure fields 
  are of a fixed size and have none of the conformant array attributes 
  [min_is], [max_is], or 
  [size_is], or remove the 
  [transmit_as] or [represent_as] 
  attribute.
Tag parameters must have type unsigned long int passed by 
value or reference
  - Explanation: Parameters to which tag attributes 
  ([cs_stag], [cs_drtag], or 
  [cs_rtag]) are attached must be either unsigned 
  long integer values or unsigned long integers passed by 
  reference. 
 User Action: Change the parameter types 
  as required.
Target language supports maximum of number array dimensions
  - Explanation: The target language selected does not 
  support arrays with more than the indicated number of dimensions. 
  
 User Action: Such arrays will have no 
  corresponding declaration in the generated language header file. 
  Application code using such arrays should be written in another 
  programming language.
The attribute [min_is] cannot be applied to dimension 
n; lower bound is not dynamic
  - Explanation: A [min_is] variable 
  is valid only for array dimensions that have a lower bound that is not 
  fixed. 
 User Action: If the array is 
  multidimensional, you may have specified the [min_is] 
  variable for the wrong dimension. See the documentation for the proper 
  syntax. If the array has only one dimension, the 
  [min_is] clause is invalid, since the array's lower 
  bound is fixed. The [first_is] clause is valid for 
  single dimension arrays. See the documentation for the distinctions 
  between conformant and varying arrays and their attributes.
The attribute [min_is] is required
  - Explanation: An array with a lower bound that is 
  not fixed is used as a field of a structure or as a parameter of an 
  operation. You must specify a field or parameter that determines the 
  lower bound of the array at runtime. 
 User Action: 
  Use a [min_is] attribute to specify the field or 
  parameter that contains the lower bound.
The attribute [name] is not valid on an operation with pipes
  - Explanation: An operation with the indicated 
  attribute cannot have any pipe parameters. 
 User 
  Action: Remove either the attribute or any pipe parameters.
The attribute [name1] cannot occur with [name2] or 
[name3]
  - Explanation: The attribute [name1] cannot 
  occur in the same declaration containing either of the other two 
  attributes. Generally this means that two IDL language features cannot 
  be used together because they conflict with one another in some way. 
  
 User Action: Remove one of the conflicting 
  attributes.
The attribute [unique] is invalid on a binding 
handle parameter
  - Explanation: The first parameter in an operation 
  is a handle parameter, which is either of type 
  handle_t or a type with the [handle] 
  attribute. A binding handle parameter cannot have the 
  [unique] attribute because it cannot be 
  NULL. 
 User Action: Remove the 
  [unique] attribute from the parameter.
The base type of a pipe cannot be or contain a [name] type
  - Explanation: The indicated attribute cannot be 
  applied to the base type of a pipe, or a type used in constructing the 
  base type of a pipe. 
 User Action: Do not use the 
  indicated attribute with pipes.
The [name] attribute cannot be duplicated in the same 
parameter list
  - Explanation: The named attribute cannot be applied 
  twice in the same parameter list. 
 User Action: 
  Make sure that only one parameter in the operation's parameter list has 
  the attribute applied to it. The attribute is specified either in the 
  source IDL or source ACF file.
The [name] attribute cannot occur with an execution semantic 
attribute
  - Explanation: The indicated operation attribute is 
  not valid on an operation with one of the operation execution semantic 
  attributes, [broadcast], [maybe], or 
  [idempotent]. Generally this means the attribute implies or 
  requires the normal "at-most-once" execution semantics for RPC 
  operations. 
 User Action: Remove one of the 
  conflicting attributes.
The union switch variable name cannot be a 
[ptr] or [unique] pointer
  - Explanation: A [switch_is] 
  attribute clause in the source IDL specifies its value by dereferencing 
  a pointer field or parameter. This is invalid if the pointer variable 
  has either of the [ptr] or [unique] 
  attributes, since both allow the pointer to be NULL. 
  If the pointer were NULL, there would be no way to 
  determine the union discriminator. 
 User Action: 
  Either redeclare the [switch_is] variable to be a 
  scalar rather than a pointer, or change the 
  [switch_is] variable to be a [ref] 
  pointer.
Type with [name] must resolve to byte or structure containing 
only byte fields
  - Explanation: A type with the indicated attribute 
  must be defined as an IDL type that resolves to byte or to a structure 
  type in which all of the fields have types which resolve to byte. 
  
 User Action: Change the type definition, or remove 
  the attribute if it is not needed.
Type with [name1] cannot be or contain type with 
[name2]
  - Explanation: A type with the first attribute 
  cannot also have the second attribute, nor can it contain any type 
  which has the second attribute. 
 User Action: The 
  two features cannot interact on a single type. Consider alternate ways 
  to achieve the desired result.
Types with the [name] attribute cannot be nested
  - Explanation: A type with the indicated attribute 
  cannot include another type with the same attribute. 
 User 
  Action: Do not nest types with the attribute.
[unique] pointers to context handles are not allowed
  - Explanation: IDL does not allow 
  [unique] pointers to context handles. 
 User 
  Action: If the declaration has the [unique] 
  attribute, either explicitly or by default, change it to a 
  [ref] pointer. However, if the declaration is an 
  operation result, it cannot be a [ref] pointer and an 
  operation resulting in a pointer to a context handle is not valid.
Use of a nonencapsulated union requires option
  - Explanation: A nonencapsulated union is not 
  portable to all implementations of DCE. 
 User 
  Action: Use an encapsulated union instead or specify the 
  extended standard option on the compiler command.
Use of C preprocessor directive requires command-option
  - Explanation: The IDL compiler detected a C 
  preprocessor directive in a source IDL or ACF file. C preprocessor 
  directives begin in the first column of a source line and start with 
  the "#" character. Either you have specified an IDL command option to 
  disable C preprocessing, or IDL does not invoke the C preprocessor by 
  default on the platform on which you are running. 
 User 
  Action: Add the indicated command option to your 
  idl command so that the IDL compiler will invoke the C 
  preprocessor to preprocess source IDL and ACF files before they are 
  parsed.
Use of anonymous type may not be portable across C 
compilers
  - Explanation: The source IDL contains an IDL 
  language construct, such as an enum, declared as an 
  unnamed type within another definition. The generated stub code will 
  compile cleanly under some C compilers, but generate errors from 
  others. The potential errors are due to differences in the scoping of 
  identifiers across C compilers. 
 User Action: Use a 
  typedef statement to define the base 
  type as a named type, then use the type name in any 
  subsequent declarations in place of an anonymous definition.
Use of [name] attribute requires option
  - Explanation: The indicated attribute is not 
  supported by DCE Version 1.0, and thus should not be used if 
  interoperability with implementations of DCE Version 1.0 is required. 
  
 User Action: Do not use the feature if 
  interoperability with DCE Version 1.0 is required. Otherwise, specify 
  the extended standard option on the compiler command to suppress the 
  warning.
Use of nonzero array lower bound requires option
  - Explanation: A nonzero array lower bound is not 
  portable to all implementations of DCE Version 1.0. 
 User 
  Action: Use an array with lower bound zero instead or specify 
  the extended standard option on the compiler command.
Use of [unique] pointers requires option
  - Explanation: A [unique] pointer is not 
  portable to all implementations of DCE Version 1.0. 
 User 
  Action: Use a [ref] or [ptr] 
  pointer instead or specify the extended standard option on the compiler 
  command.
Use of user-defined exceptions requires option
  - Explanation: Use of user-defined exceptions is not 
  interoperable with implementations of DCE Version 1.0. 
 User 
  Action: Do not use the feature if interoperability with DCE 
  Version 1.0 is required. Otherwise, specify the extended standard 
  option on the compiler command to suppress the warning.