1 /* Copyright (C) 2010 The Android Open Source Project 2 ** 3 ** This software is licensed under the terms of the GNU General Public 4 ** License version 2, as published by the Free Software Foundation, and 5 ** may be copied, distributed, and modified under those terms. 6 ** 7 ** This program is distributed in the hope that it will be useful, 8 ** but WITHOUT ANY WARRANTY; without even the implied warranty of 9 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 ** GNU General Public License for more details. 11 */ 12 13 /* 14 * Contains core-side framebuffer service that sends framebuffer updates 15 * to the UI connected to the core. 16 */ 17 18 #ifndef _ANDROID_PROTOCOL_FB_UPDATES_PROXY_H 19 #define _ANDROID_PROTOCOL_FB_UPDATES_PROXY_H 20 21 /* Descriptor for a framebuffer core service instance */ 22 typedef struct ProxyFramebuffer ProxyFramebuffer; 23 24 /* 25 * Creates framebuffer service. 26 * Param: 27 * sock - Socket descriptor for the service 28 * protocol - Defines protocol to use when sending FB updates to the UI. The 29 * supported values ar: 30 * -raw Transfers the updating rectangle buffer over the socket. 31 * -shared Used a shared memory to transfer the updating rectangle buffer. 32 * Return: 33 * Framebuffer service descriptor. 34 */ 35 ProxyFramebuffer* proxyFb_create(int sock, const char* protocol); 36 37 /* 38 * Destroys framebuffer service created with proxyFb_create. 39 * Param: 40 * core_fb - Framebuffer service descriptor created with proxyFb_create 41 */ 42 void proxyFb_destroy(ProxyFramebuffer* core_fb); 43 44 /* 45 * Gets number of bits used to encode a single pixel. 46 * Param: 47 * core_fb - Framebuffer service descriptor created with proxyFb_create 48 * Return: 49 * Number of bits used to encode a single pixel. 50 */ 51 int proxyFb_get_bits_per_pixel(ProxyFramebuffer* core_fb); 52 53 #endif /* _ANDROID_PROTOCOL_FB_UPDATES_PROXY_H */ 54