1 component_class: LIB_SHARED 2 component_type: BIONIC_LIBC 3 component_type_version: 1.0 4 component_name: "libc" 5 6 header: "<unistd.h>" 7 header: "<stdint.h>" 8 header: "<sys/types.h>" 9 header: "<linux/socket.h>" 10 11 interface: { 12 api: { 13 name: "socket" 14 return_type: { 15 type: TYPE_SCALAR 16 scalar_type: "int32_t" 17 } 18 arg: { 19 type: TYPE_SCALAR 20 scalar_type: "int32_t" 21 } 22 arg: { 23 type: TYPE_SCALAR 24 scalar_type: "int32_t" 25 } 26 arg: { 27 type: TYPE_SCALAR 28 scalar_type: "int32_t" 29 } 30 } 31 32 api: { 33 name: "accept" 34 return_type: { 35 type: TYPE_SCALAR 36 scalar_type: "int32_t" 37 } 38 arg: { 39 type: TYPE_SCALAR 40 scalar_type: "int32_t" 41 } 42 arg: { 43 type: TYPE_PREDEFINED 44 scalar_type: "pointer" 45 predefined_type: "struct sockaddr*" 46 } 47 arg: { 48 type: TYPE_PREDEFINED 49 scalar_type: "pointer" 50 predefined_type: "socklen_t*" 51 } 52 } 53 54 api: { 55 name: "bind" 56 return_type: { 57 type: TYPE_SCALAR 58 scalar_type: "int32_t" 59 } 60 arg: { 61 type: TYPE_SCALAR 62 scalar_type: "int32_t" 63 } 64 arg: { 65 type: TYPE_PREDEFINED 66 scalar_type: "pointer" 67 predefined_type: "struct sockaddr*" 68 } 69 arg: { 70 type: TYPE_PREDEFINED 71 scalar_type: "pointer" 72 predefined_type: "socklen_t*" 73 } 74 } 75 76 api: { 77 name: "connect" 78 return_type: { 79 type: TYPE_SCALAR 80 scalar_type: "int32_t" 81 } 82 arg: { 83 type: TYPE_SCALAR 84 scalar_type: "int32_t" 85 } 86 arg: { 87 type: TYPE_PREDEFINED 88 scalar_type: "pointer" 89 predefined_type: "struct sockaddr*" 90 } 91 arg: { 92 type: TYPE_PREDEFINED 93 scalar_type: "pointer" 94 predefined_type: "socklen_t*" 95 } 96 } 97 98 api: { 99 name: "listen" 100 return_type: { 101 type: TYPE_SCALAR 102 scalar_type: "int32_t" 103 } 104 arg: { 105 type: TYPE_SCALAR 106 scalar_type: "int32_t" 107 } 108 arg: { 109 type: TYPE_SCALAR 110 scalar_type: "int32_t" 111 } 112 } 113 114 api: { 115 name: "recv" 116 return_type: { 117 type: TYPE_SCALAR 118 scalar_type: "int32_t" 119 } 120 arg: { 121 type: TYPE_SCALAR 122 scalar_type: "int32_t" 123 } 124 arg: { 125 type: TYPE_SCALAR 126 scalar_type: "void_pointer" 127 } 128 arg: { 129 type: TYPE_SCALAR 130 scalar_type: "uint32_t" 131 } 132 arg: { 133 type: TYPE_SCALAR 134 scalar_type: "int32_t" 135 } 136 } 137 138 api: { 139 name: "send" 140 return_type: { 141 type: TYPE_SCALAR 142 scalar_type: "int32_t" 143 } 144 arg: { 145 type: TYPE_SCALAR 146 scalar_type: "int32_t" 147 } 148 arg: { 149 type: TYPE_SCALAR 150 scalar_type: "void_pointer" 151 } 152 arg: { 153 type: TYPE_SCALAR 154 scalar_type: "uint32_t" 155 } 156 arg: { 157 type: TYPE_SCALAR 158 scalar_type: "int32_t" 159 } 160 } 161 162 api: { 163 name: "fopen" 164 return_type: { 165 type: TYPE_PREDEFINED 166 scalar_type: "pointer" 167 predefined_type: "FILE*" 168 } 169 arg: { 170 type: TYPE_SCALAR 171 scalar_type: "char_pointer" 172 name: "filename" 173 } 174 arg: { 175 type: TYPE_SCALAR 176 scalar_type: "char_pointer" 177 name: "opentype" 178 } 179 } 180 181 api: { 182 name: "read" 183 return_type: { 184 type: TYPE_SCALAR 185 scalar_type: "int32_t" 186 } 187 arg: { 188 type: TYPE_SCALAR 189 scalar_type: "int32_t" 190 name: "filedes" 191 } 192 arg: { 193 type: TYPE_SCALAR 194 scalar_type: "void_pointer" 195 name: "buffer" 196 } 197 arg: { 198 type: TYPE_SCALAR 199 scalar_type: "uint32_t" 200 name: "size" 201 } 202 } 203 204 api: { 205 name: "write" 206 return_type: { 207 type: TYPE_SCALAR 208 scalar_type: "int32_t" 209 } 210 arg: { 211 type: TYPE_SCALAR 212 scalar_type: "int32_t" 213 name: "filedes" 214 } 215 arg: { 216 type: TYPE_SCALAR 217 scalar_type: "void_pointer" 218 name: "buffer" 219 } 220 arg: { 221 type: TYPE_SCALAR 222 scalar_type: "int32_t" 223 name: "size" 224 } 225 } 226 227 api: { 228 name: "lseek" 229 return_type: { 230 type: TYPE_SCALAR 231 scalar_type: "int32_t" 232 } 233 arg: { 234 type: TYPE_SCALAR 235 scalar_type: "int32_t" 236 name: "filedes" 237 } 238 arg: { 239 type: TYPE_SCALAR 240 scalar_type: "int32_t" 241 name: "offset" 242 } 243 arg: { 244 type: TYPE_SCALAR 245 scalar_type: "int32_t" 246 name: "whence" 247 } 248 } 249 250 api: { 251 name: "close" 252 return_type: { 253 type: TYPE_SCALAR 254 scalar_type: "int32_t" 255 } 256 arg: { 257 type: TYPE_SCALAR 258 scalar_type: "int32_t" 259 name: "filedes" 260 } 261 } 262 263 attribute: { 264 name: "sockaddr" 265 type: TYPE_STRUCT 266 struct_value: { 267 name: "sa_family" 268 type: TYPE_SCALAR 269 scalar_type: "uint32_t" 270 } 271 struct_value: { 272 name: "sa_data" 273 type: TYPE_ARRAY 274 vector_value: { 275 type: TYPE_SCALAR 276 scalar_type: "char" 277 } 278 } 279 } 280 281 attribute: { 282 name: "PF_UNIX" 283 type: TYPE_SCALAR 284 scalar_type: "int32_t" 285 scalar_value: { 286 int32_t: 1 287 } 288 is_const: true 289 } 290 291 attribute: { 292 name: "PF_INET" 293 type: TYPE_SCALAR 294 scalar_type: "int32_t" 295 scalar_value: { 296 int32_t: 2 297 } 298 is_const: true 299 } 300 301 attribute: { 302 name: "SOCK_STREAM" 303 type: TYPE_SCALAR 304 scalar_type: "int32_t" 305 scalar_value: { 306 int32_t: 1 307 } 308 is_const: true 309 } 310 311 attribute: { 312 name: "SOCK_DGRAM" 313 type: TYPE_SCALAR 314 scalar_type: "int32_t" 315 scalar_value: { 316 int32_t: 2 317 } 318 is_const: true 319 } 320 321 attribute: { 322 name: "SOCK_RAW" 323 type: TYPE_SCALAR 324 scalar_type: "int32_t" 325 scalar_value: { 326 int32_t: 3 327 } 328 is_const: true 329 } 330 331 attribute: { 332 name: "SOCK_SEQPACKET" 333 type: TYPE_SCALAR 334 scalar_type: "int32_t" 335 scalar_value: { 336 int32_t: 5 337 } 338 is_const: true 339 } 340 } 341