Home | History | Annotate | Download | only in include
      1 /*
      2  * Copyright (C) 2016 The Android Open Source Project
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 
     17 // Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
     18 
     19 /*
     20  * rs_io.rsh: Input/Output Functions
     21  *
     22  * These functions are used to:
     23  * - Send information to the Java client, and
     24  * - Send the processed allocation or receive the next allocation to process.
     25  */
     26 
     27 #ifndef RENDERSCRIPT_RS_IO_RSH
     28 #define RENDERSCRIPT_RS_IO_RSH
     29 
     30 /*
     31  * rsAllocationIoReceive: Receive new content from the queue
     32  *
     33  * Receive a new set of contents from the queue.
     34  *
     35  * This function should not be called from inside a kernel, or from any function
     36  * that may be called directly or indirectly from a kernel. Doing so would cause a
     37  * runtime error.
     38  *
     39  * Parameters:
     40  *   a: Allocation to work on.
     41  */
     42 #if (defined(RS_VERSION) && (RS_VERSION >= 16))
     43 extern void __attribute__((overloadable))
     44     rsAllocationIoReceive(rs_allocation a);
     45 #endif
     46 
     47 /*
     48  * rsAllocationIoSend: Send new content to the queue
     49  *
     50  * Send the contents of the Allocation to the queue.
     51  *
     52  * This function should not be called from inside a kernel, or from any function
     53  * that may be called directly or indirectly from a kernel. Doing so would cause a
     54  * runtime error.
     55  *
     56  * Parameters:
     57  *   a: Allocation to work on.
     58  */
     59 #if (defined(RS_VERSION) && (RS_VERSION >= 16))
     60 extern void __attribute__((overloadable))
     61     rsAllocationIoSend(rs_allocation a);
     62 #endif
     63 
     64 /*
     65  * rsSendToClient: Send a message to the client, non-blocking
     66  *
     67  * Sends a message back to the client.  This call does not block.
     68  * It returns true if the message was sent and false if the
     69  * message queue is full.
     70  *
     71  * A message ID is required.  The data payload is optional.
     72  *
     73  * See RenderScript.RSMessageHandler.
     74  *
     75  * Parameters:
     76  *   data: Application specific data.
     77  *   len: Length of the data, in bytes.
     78  */
     79 extern bool __attribute__((overloadable))
     80     rsSendToClient(int cmdID);
     81 
     82 extern bool __attribute__((overloadable))
     83     rsSendToClient(int cmdID, const void* data, uint len);
     84 
     85 /*
     86  * rsSendToClientBlocking: Send a message to the client, blocking
     87  *
     88  * Sends a message back to the client.  This function will block
     89  * until there is room on the message queue for this message.
     90  * This function may return before the message was delivered and
     91  * processed by the client.
     92  *
     93  * A message ID is required.  The data payload is optional.
     94  *
     95  * See RenderScript.RSMessageHandler.
     96  *
     97  * Parameters:
     98  *   data: Application specific data.
     99  *   len: Length of the data, in bytes.
    100  */
    101 extern void __attribute__((overloadable))
    102     rsSendToClientBlocking(int cmdID);
    103 
    104 extern void __attribute__((overloadable))
    105     rsSendToClientBlocking(int cmdID, const void* data, uint len);
    106 
    107 #endif // RENDERSCRIPT_RS_IO_RSH
    108