ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

rpcfc.h
Go to the documentation of this file.
00001 /*
00002  * RPC format chars, as found by studying MIDL output.
00003  * Some, but not all, usage of these are explained on MSDN.
00004  */
00005 
00006 #ifndef __WINE_RPCFC_H
00007 #define __WINE_RPCFC_H
00008 
00009 /* base types */
00010 #define RPC_FC_BYTE         0x01
00011 #define RPC_FC_CHAR         0x02
00012 #define RPC_FC_SMALL            0x03
00013 #define RPC_FC_USMALL           0x04
00014 #define RPC_FC_WCHAR            0x05
00015 #define RPC_FC_SHORT            0x06
00016 #define RPC_FC_USHORT           0x07
00017 #define RPC_FC_LONG         0x08
00018 #define RPC_FC_ULONG            0x09
00019 #define RPC_FC_FLOAT            0x0a
00020 #define RPC_FC_HYPER            0x0b
00021 #define RPC_FC_DOUBLE           0x0c
00022 #define RPC_FC_ENUM16           0x0d
00023 #define RPC_FC_ENUM32           0x0e
00024 #define RPC_FC_IGNORE           0x0f
00025 #define RPC_FC_ERROR_STATUS_T       0x10
00026 
00027 /* other stuff */
00028 #define RPC_FC_RP           0x11 /* reference pointer */
00029 #define RPC_FC_UP           0x12 /* unique pointer */
00030 #define RPC_FC_OP           0x13 /* unique pointer in object ? */
00031 #define RPC_FC_FP           0x14 /* full pointer */
00032 
00033 #define RPC_FC_STRUCT           0x15 /* simple structure */
00034 /* FC_STRUCT: align-1, NdrFcShort(size), fields */
00035 
00036 #define RPC_FC_PSTRUCT          0x16 /* simple structure w/ pointers */
00037 /* FC_PTRUCT: align-1, NdrFcShort(size), ptrs, fields */
00038 
00039 #define RPC_FC_CSTRUCT          0x17 /* conformant structure */
00040 
00041 #define RPC_FC_CPSTRUCT                 0x18 /* conformant structure w/ pointers */
00042 
00043 #define RPC_FC_CVSTRUCT                 0x19 /* conformant varying struct */
00044 
00045 #define RPC_FC_BOGUS_STRUCT     0x1a /* complex structure */
00046 
00047 #define RPC_FC_CARRAY           0x1b /* conformant array */
00048 /* FC_CARRAY: align-1, NdrFcShort(size), conformance, ptrs, fields */
00049 #define RPC_FC_CVARRAY          0x1c /* conformant varying array */
00050 /* FC_CARRAY: align-1, NdrFcShort(size), conformance, variance, ptrs, fields */
00051 #define RPC_FC_SMFARRAY         0x1d /* small (<64K) fixed array */
00052 /* FC_SMFARRAY: align-1, NdrFcShort(size), ptrs, fields */
00053 
00054 #define RPC_FC_LGFARRAY                 0x1e /* large (>= 64k) fixed array */
00055 
00056 #define RPC_FC_SMVARRAY                 0x1f /* small (<64k) varying array */
00057 
00058 #define RPC_FC_LGVARRAY                 0x20 /* large (>= 64k) varying array */
00059 
00060 #define RPC_FC_BOGUS_ARRAY      0x21 /* complex array */
00061 
00062 #define RPC_FC_C_CSTRING        0x22
00063 #define RPC_FC_C_SSTRING        0x24
00064 #define RPC_FC_C_WSTRING        0x25
00065 #define RPC_FC_CSTRING                  0x26
00066 #define RPC_FC_SSTRING          0x28
00067 #define RPC_FC_WSTRING                  0x29
00068 
00069 #define RPC_FC_ENCAPSULATED_UNION   0x2a
00070 #define RPC_FC_NON_ENCAPSULATED_UNION   0x2b
00071 
00072 #define RPC_FC_BYTE_COUNT_POINTER       0x2c /* [byte_count] ACF attribute */
00073 
00074 #define RPC_FC_TRANSMIT_AS              0x2d
00075 #define RPC_FC_REPRESENT_AS             0x2e
00076 
00077 #define RPC_FC_IP           0x2f /* interface pointer */
00078 /* FC_IP: FC_CONSTANT_IID iid */
00079 /* FC_IP: FC_PAD correlation */
00080 
00081 #define RPC_FC_BIND_CONTEXT     0x30
00082 
00083 #define RPC_FC_BIND_GENERIC     0x31
00084 #define RPC_FC_BIND_PRIMITIVE       0x32
00085 #define RPC_FC_AUTO_HANDLE      0x33
00086 #define RPC_FC_CALLBACK_HANDLE      0x34
00087 
00088 #define RPC_FC_POINTER          0x36
00089 
00090 #define RPC_FC_ALIGNM2          0x37
00091 #define RPC_FC_ALIGNM4          0x38
00092 #define RPC_FC_ALIGNM8          0x39
00093 
00094 #define RPC_FC_STRUCTPAD1       0x3d
00095 #define RPC_FC_STRUCTPAD2       0x3e
00096 #define RPC_FC_STRUCTPAD3       0x3f
00097 #define RPC_FC_STRUCTPAD4       0x40
00098 #define RPC_FC_STRUCTPAD5       0x41
00099 #define RPC_FC_STRUCTPAD6       0x42
00100 #define RPC_FC_STRUCTPAD7       0x43
00101 
00102 #define RPC_FC_STRING_SIZED     0x44
00103 
00104 #define RPC_FC_NO_REPEAT        0x46
00105 #define RPC_FC_FIXED_REPEAT     0x47
00106 #define RPC_FC_VARIABLE_REPEAT      0x48
00107 #define RPC_FC_FIXED_OFFSET     0x49
00108 #define RPC_FC_VARIABLE_OFFSET      0x4a
00109 
00110 #define RPC_FC_PP           0x4b /* pointer layout */
00111 /* FC_PP: FC_PAD layouts */
00112 /* layouts: FC_NO_REPEAT FC_PAD instance */
00113 /* instance: NdrFcShort(memofs), NdrFcShort(bufofs), desc */
00114 
00115 #define RPC_FC_EMBEDDED_COMPLEX     0x4c
00116 /* FC_EMBEDDED_COMPLEX: padding, NdrFcShort(typeofs) */
00117 
00118 #define RPC_FC_IN_PARAM         0x4d
00119 /* FC_IN_PARAM: stacksiz, NdrFcShort(typeofs) */
00120 #define RPC_FC_IN_PARAM_BASETYPE    0x4e
00121 /* FC_IN_PARAM_BASETYPE: basetype */
00122 #define RPC_FC_IN_PARAM_NO_FREE_INST    0x4f
00123 #define RPC_FC_IN_OUT_PARAM     0x50
00124 /* FC_IN_OUT_PARAM: stacksiz, NdrFcShort(typeofs) */
00125 #define RPC_FC_OUT_PARAM        0x51
00126 /* FC_OUT_PARAM: stacksiz, NdrFcShort(typeofs) */
00127 #define RPC_FC_RETURN_PARAM     0x52
00128 /* FC_RETURN_PARAM: stacksiz, NdrFcShort(typeofs) */
00129 #define RPC_FC_RETURN_PARAM_BASETYPE    0x53
00130 /* FC_RETURN_PARAM_BASETYPE: basetype */
00131 
00132 #define RPC_FC_DEREFERENCE      0x54
00133 #define RPC_FC_DIV_2            0x55
00134 #define RPC_FC_MULT_2           0x56
00135 #define RPC_FC_ADD_1            0x57
00136 #define RPC_FC_SUB_1            0x58
00137 
00138 #define RPC_FC_CALLBACK         0x59
00139 
00140 #define RPC_FC_CONSTANT_IID     0x5a
00141 /* FC_CONSTANT_IID: NdrFcLong(), NdrFcShort(), NdrFcShort(), 8x () */
00142 
00143 #define RPC_FC_END          0x5b
00144 #define RPC_FC_PAD          0x5c
00145 
00146 #define RPC_FC_USER_MARSHAL     0xb4
00147 
00148 #define RPC_FC_RANGE            0xb7
00149 
00150 #define RPC_FC_INT3264          0xb8
00151 #define RPC_FC_UINT3264         0xb9
00152 
00153 /* FC_RP/UP/OP/FP: flags, NdrFcShort(typeofs)/basetype */
00154 #define RPC_FC_P_ALLOCALLNODES      0x01
00155 #define RPC_FC_P_DONTFREE       0x02
00156 #define RPC_FC_P_ONSTACK        0x04 /* [alloced_on_stack] */
00157 #define RPC_FC_P_SIMPLEPOINTER      0x08 /* [simple_pointer] */
00158 #define RPC_FC_P_DEREF          0x10
00159 
00160 #define RPC_FC_BIND_EXPLICIT        0x00
00161 
00162 /* proc header: oiflags, NdrFcLong(rpcflags), NdrFcShort(procnum), NdrFcShort(stacksiz),
00163  *  oi2 header: NdrFcShort(clientbuf), NdrFcShort(servbuf), oi2flags, parmcount
00164  * oi2 parameters: NdrFcShort(flags), NdrFcShort(stackofs), NdrFcShort(typeofs)/basetype */
00165 #define RPC_FC_PROC_OIF_FULLPTR         0x01
00166 #define RPC_FC_PROC_OIF_RPCSSALLOC      0x02
00167 #define RPC_FC_PROC_OIF_OBJECT          0x04
00168 #define RPC_FC_PROC_OIF_RPCFLAGS        0x08
00169 #define RPC_FC_PROC_OIF_OBJ_V2          0x20
00170 #define RPC_FC_PROC_OIF_HAS_COMM_OR_FAULT 0x20
00171 #define RPC_FC_PROC_OIF_NEWINIT         0x40
00172 
00173 #define RPC_FC_PROC_PF_MUSTSIZE         0x0001
00174 #define RPC_FC_PROC_PF_MUSTFREE         0x0002
00175 #define RPC_FC_PROC_PF_PIPE             0x0004
00176 #define RPC_FC_PROC_PF_IN               0x0008
00177 #define RPC_FC_PROC_PF_OUT              0x0010
00178 #define RPC_FC_PROC_PF_RETURN           0x0020
00179 #define RPC_FC_PROC_PF_BASETYPE         0x0040
00180 #define RPC_FC_PROC_PF_BYVAL            0x0080
00181 #define RPC_FC_PROC_PF_SIMPLEREF        0x0100
00182 #define RPC_FC_PROC_PF_DONTFREEINST     0x0200
00183 #define RPC_FC_PROC_PF_SAVEASYNC        0x0400
00184 #define RPC_FC_PROC_PF_SRVALLOCSIZE     0xe000 /* in 8 byte units */
00185 
00186 /* correlation types */
00187 #define RPC_FC_NORMAL_CONFORMANCE       0x00
00188 #define RPC_FC_POINTER_CONFORMANCE      0x10
00189 #define RPC_FC_TOP_LEVEL_CONFORMANCE        0x20
00190 #define RPC_FC_CONSTANT_CONFORMANCE     0x40
00191 #define RPC_FC_TOP_LEVEL_MULTID_CONFORMANCE 0x80
00192 
00193 /* user marshal flags */
00194 #define USER_MARSHAL_UNIQUE 0x80
00195 #define USER_MARSHAL_REF    0x40
00196 #define USER_MARSHAL_POINTER    0xc0
00197 #define USER_MARSHAL_IID    0x20
00198 
00199 /* context handle flags */
00200 #define NDR_CONTEXT_HANDLE_CANNOT_BE_NULL   0x01
00201 #define NDR_CONTEXT_HANDLE_SERIALIZE        0x02
00202 #define NDR_CONTEXT_HANDLE_NO_SERIALIZE     0x04
00203 #define NDR_STRICT_CONTEXT_HANDLE           0x08
00204 
00205 #endif /* __WINE_RPCFC_H */

Generated on Mon May 28 2012 04:30:37 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.