| /* |
| * Copyright (C) 2016 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| // Don't edit this file! It is auto-generated by frameworks/rs/api/generate.sh. |
| |
| /* |
| * rs_io.rsh: Input/Output Functions |
| * |
| * These functions are used to: |
| * - Send information to the Java client, and |
| * - Send the processed allocation or receive the next allocation to process. |
| */ |
| |
| #ifndef RENDERSCRIPT_RS_IO_RSH |
| #define RENDERSCRIPT_RS_IO_RSH |
| |
| /* |
| * rsAllocationIoReceive: Receive new content from the queue |
| * |
| * Receive a new set of contents from the queue. |
| * |
| * This function should not be called from inside a kernel, or from any function |
| * that may be called directly or indirectly from a kernel. Doing so would cause a |
| * runtime error. |
| * |
| * Parameters: |
| * a: Allocation to work on. |
| */ |
| #if (defined(RS_VERSION) && (RS_VERSION >= 16)) |
| extern void __attribute__((overloadable)) |
| rsAllocationIoReceive(rs_allocation a); |
| #endif |
| |
| /* |
| * rsAllocationIoSend: Send new content to the queue |
| * |
| * Send the contents of the Allocation to the queue. |
| * |
| * This function should not be called from inside a kernel, or from any function |
| * that may be called directly or indirectly from a kernel. Doing so would cause a |
| * runtime error. |
| * |
| * Parameters: |
| * a: Allocation to work on. |
| */ |
| #if (defined(RS_VERSION) && (RS_VERSION >= 16)) |
| extern void __attribute__((overloadable)) |
| rsAllocationIoSend(rs_allocation a); |
| #endif |
| |
| /* |
| * rsSendToClient: Send a message to the client, non-blocking |
| * |
| * Sends a message back to the client. This call does not block. |
| * It returns true if the message was sent and false if the |
| * message queue is full. |
| * |
| * A message ID is required. The data payload is optional. |
| * |
| * See RenderScript.RSMessageHandler. |
| * |
| * Parameters: |
| * data: Application specific data. |
| * len: Length of the data, in bytes. |
| */ |
| extern bool __attribute__((overloadable)) |
| rsSendToClient(int cmdID); |
| |
| extern bool __attribute__((overloadable)) |
| rsSendToClient(int cmdID, const void* data, uint len); |
| |
| /* |
| * rsSendToClientBlocking: Send a message to the client, blocking |
| * |
| * Sends a message back to the client. This function will block |
| * until there is room on the message queue for this message. |
| * This function may return before the message was delivered and |
| * processed by the client. |
| * |
| * A message ID is required. The data payload is optional. |
| * |
| * See RenderScript.RSMessageHandler. |
| * |
| * Parameters: |
| * data: Application specific data. |
| * len: Length of the data, in bytes. |
| */ |
| extern void __attribute__((overloadable)) |
| rsSendToClientBlocking(int cmdID); |
| |
| extern void __attribute__((overloadable)) |
| rsSendToClientBlocking(int cmdID, const void* data, uint len); |
| |
| #endif // RENDERSCRIPT_RS_IO_RSH |