diff options
author | phintuka <phintuka> | 2014-06-23 12:14:16 +0000 |
---|---|---|
committer | phintuka <phintuka> | 2014-06-23 12:14:16 +0000 |
commit | cfc9c5b1fc7caf6066404ce2366ec67f7d751114 (patch) | |
tree | 6d7a8ca3639912a3013a83883302257fcad0f419 | |
parent | 8dfe3f5bde08175416cca5501ad8a466d0780a79 (diff) | |
download | xineliboutput-cfc9c5b1fc7caf6066404ce2366ec67f7d751114.tar.gz xineliboutput-cfc9c5b1fc7caf6066404ce2366ec67f7d751114.tar.bz2 |
renamed xine-independent OSD structs
-rw-r--r-- | frontend_svr.c | 8 | ||||
-rw-r--r-- | osd.c | 8 | ||||
-rw-r--r-- | tools/rle.c | 48 | ||||
-rw-r--r-- | tools/rle.h | 28 | ||||
-rw-r--r-- | xine/osd_manager.c | 14 | ||||
-rw-r--r-- | xine/vo_osdscaler.c | 6 | ||||
-rw-r--r-- | xine_input_vdr.c | 12 | ||||
-rw-r--r-- | xine_osd_command.h | 15 |
8 files changed, 69 insertions, 70 deletions
diff --git a/frontend_svr.c b/frontend_svr.c index 49665553..1173d994 100644 --- a/frontend_svr.c +++ b/frontend_svr.c @@ -4,7 +4,7 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: frontend_svr.c,v 1.107 2012-03-18 12:22:25 phintuka Exp $ + * $Id: frontend_svr.c,v 1.108 2014-06-23 12:14:15 phintuka Exp $ * */ @@ -255,7 +255,7 @@ static int write_osd_command(cxSocket& s, osd_command_t *cmd) ssize_t max = s.tx_buffer_free(); ssize_t size = (ssize_t)8 + (ssize_t)(sizeof(osd_command_t)) + - (ssize_t)(sizeof(xine_clut_t) * ntohl(cmd->colors)) + + (ssize_t)(sizeof(osd_clut_t) * ntohl(cmd->colors)) + (ssize_t)(ntohl(cmd->datalen)); if(max > 0 && max < MIN(size, 1024)) { @@ -279,8 +279,8 @@ static int write_osd_command(cxSocket& s, osd_command_t *cmd) return -1; } if(cmd->palette && cmd->colors && - (ssize_t)(sizeof(xine_clut_t)*ntohl(cmd->colors)) != - s.write(cmd->palette, sizeof(xine_clut_t)*ntohl(cmd->colors), 100)) { + (ssize_t)(sizeof(osd_clut_t)*ntohl(cmd->colors)) != + s.write(cmd->palette, sizeof(osd_clut_t)*ntohl(cmd->colors), 100)) { LOGDBG("write_osd_command: write (palette) failed"); return -1; } @@ -4,7 +4,7 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: osd.c,v 1.50 2013-08-21 09:40:22 phintuka Exp $ + * $Id: osd.c,v 1.51 2014-06-23 12:14:15 phintuka Exp $ * */ @@ -36,7 +36,7 @@ static inline int saturate(int x, int min, int max) return x < min ? min : (x > max ? max : x); } -static inline void prepare_palette(xine_clut_t *clut, const unsigned int *palette, int colors, bool top, bool rgb) +static inline void prepare_palette(osd_clut_t *clut, const unsigned int *palette, int colors, bool top, bool rgb) { if (colors) { int c; @@ -251,7 +251,7 @@ void cXinelibOsd::CmdPalette(int Wnd, int Colors, unsigned int *Palette) TRACEF("cXinelibOsd::CmdPalette"); if (m_Device) { - xine_clut_t clut[Colors]; + osd_clut_t clut[Colors]; osd_command_t osdcmd = {0}; osdcmd.cmd = OSD_SetPalette; @@ -353,7 +353,7 @@ void cXinelibOsd::CmdLut8(int Wnd, int X0, int Y0, if (m_Device) { - xine_clut_t clut[Colors]; + osd_clut_t clut[Colors]; osd_command_t osdcmd = {0}; osdcmd.cmd = OSD_Set_LUT8; diff --git a/tools/rle.c b/tools/rle.c index c3e22304..96b1d25e 100644 --- a/tools/rle.c +++ b/tools/rle.c @@ -4,7 +4,7 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: rle.c,v 1.10 2012-01-24 11:23:10 phintuka Exp $ + * $Id: rle.c,v 1.11 2014-06-23 12:14:15 phintuka Exp $ * */ @@ -26,13 +26,13 @@ * rle_compress() * */ -uint rle_compress(xine_rle_elem_t **rle_data, const uint8_t *data, uint w, uint h) +uint rle_compress(osd_rle_elem_t **rle_data, const uint8_t *data, uint w, uint h) { - xine_rle_elem_t rle, *rle_p = 0, *rle_base; + osd_rle_elem_t rle, *rle_p = 0, *rle_base; uint x, y, num_rle = 0, rle_size = 8128; const uint8_t *c; - rle_p = (xine_rle_elem_t*)malloc(4*rle_size); + rle_p = (osd_rle_elem_t*)malloc(4*rle_size); rle_base = rle_p; for (y = 0; y < h; y++) { @@ -44,7 +44,7 @@ uint rle_compress(xine_rle_elem_t **rle_data, const uint8_t *data, uint w, uint if (rle.len) { if ( (num_rle + h-y+1) > rle_size ) { rle_size *= 2; - rle_base = (xine_rle_elem_t*)realloc( rle_base, 4*rle_size ); + rle_base = (osd_rle_elem_t*)realloc( rle_base, 4*rle_size ); rle_p = rle_base + num_rle; } *rle_p++ = rle; @@ -66,8 +66,8 @@ uint rle_compress(xine_rle_elem_t **rle_data, const uint8_t *data, uint w, uint uint rle_compress_net(uint8_t **rle_data, uint *elems, const uint8_t *data, uint w, uint h) { - *elems = rle_compress((xine_rle_elem_t**)rle_data, data, w, h); - return rle_recompress_net(*rle_data, *(xine_rle_elem_t **)rle_data, *elems); + *elems = rle_compress((osd_rle_elem_t**)rle_data, data, w, h); + return rle_recompress_net(*rle_data, *(osd_rle_elem_t **)rle_data, *elems); } /* @@ -75,7 +75,7 @@ uint rle_compress_net(uint8_t **rle_data, uint *elems, const uint8_t *data, uint * * recompress RLE-compressed OSD using variable sized RLE codewords */ -uint rle_recompress_net(uint8_t *raw, xine_rle_elem_t *data, uint elems) +uint rle_recompress_net(uint8_t *raw, osd_rle_elem_t *data, uint elems) { uint8_t *raw0 = raw; uint i; @@ -101,7 +101,7 @@ uint rle_recompress_net(uint8_t *raw, xine_rle_elem_t *data, uint elems) * - Simple nearest-neighbour scaling for RLE-compressed image * - fast scaling in compressed form without decompression */ -xine_rle_elem_t *rle_scale_nearest(const xine_rle_elem_t *old_rle, int *rle_elems, +osd_rle_elem_t *rle_scale_nearest(const osd_rle_elem_t *old_rle, int *rle_elems, uint w, uint h, uint new_w, uint new_h) { #define FACTORBASE 0x100 @@ -115,8 +115,8 @@ xine_rle_elem_t *rle_scale_nearest(const xine_rle_elem_t *old_rle, int *rle_elem uint factor_y = FACTORBASE*new_h/old_h; uint rle_size = MAX(8128, *rle_elems * new_h/h ); /* guess ... */ uint num_rle = 0; - xine_rle_elem_t *new_rle = (xine_rle_elem_t*)malloc(sizeof(xine_rle_elem_t)*rle_size); - xine_rle_elem_t *new_rle_start = new_rle; + osd_rle_elem_t *new_rle = (osd_rle_elem_t*)malloc(sizeof(osd_rle_elem_t)*rle_size); + osd_rle_elem_t *new_rle_start = new_rle; /* we assume rle elements are breaked at end of line */ while (old_y < old_h) { @@ -145,7 +145,7 @@ xine_rle_elem_t *rle_scale_nearest(const xine_rle_elem_t *old_rle, int *rle_elem if ( (num_rle + 1) >= rle_size ) { rle_size *= 2; - new_rle_start = (xine_rle_elem_t*)realloc( new_rle_start, 4*rle_size); + new_rle_start = (osd_rle_elem_t*)realloc( new_rle_start, 4*rle_size); new_rle = new_rle_start + num_rle; } } @@ -164,11 +164,11 @@ xine_rle_elem_t *rle_scale_nearest(const xine_rle_elem_t *old_rle, int *rle_elem dup = new_h - new_y - 1; while (dup-- && (new_y+1<new_h)) { - xine_rle_elem_t *prevline; + osd_rle_elem_t *prevline; uint n; if ( (num_rle + elems_current_line + 1) >= rle_size ) { rle_size *= 2; - new_rle_start = (xine_rle_elem_t*)realloc( new_rle_start, 4*rle_size); + new_rle_start = (osd_rle_elem_t*)realloc( new_rle_start, 4*rle_size); new_rle = new_rle_start + num_rle; } @@ -295,12 +295,12 @@ size_t rle_compress_hdmv(uint8_t **rle_data, const uint8_t *data, uint w, uint h } -int rle_uncompress_hdmv(xine_rle_elem_t **data, +int rle_uncompress_hdmv(osd_rle_elem_t **data, uint w, uint h, const uint8_t *rle_data, uint num_rle, size_t rle_size) { uint rle_count = 0, x = 0, y = 0; - xine_rle_elem_t *rlep = calloc(2*num_rle, sizeof(xine_rle_elem_t)); + osd_rle_elem_t *rlep = calloc(2*num_rle, sizeof(osd_rle_elem_t)); const uint8_t *end = rle_data + rle_size; *data = rlep; @@ -371,7 +371,7 @@ int rle_uncompress_hdmv(xine_rle_elem_t **data, void rle_uncompress_lut8(uint8_t *dst, uint w, uint h, uint stride, - const struct xine_rle_elem_s *rle_data, uint num_rle) + const struct osd_rle_elem_s *rle_data, uint num_rle) { uint i, pixelcounter = 0; uint idx = 0, line = 0; @@ -395,7 +395,7 @@ void rle_uncompress_lut8(uint8_t *dst, } } -void rle_palette_to_argb(uint32_t *argb, const struct xine_clut_s *palette, uint entries) +void rle_palette_to_argb(uint32_t *argb, const struct osd_clut_s *palette, uint entries) { uint i; for (i = 0; i < entries; i++) { @@ -406,7 +406,7 @@ void rle_palette_to_argb(uint32_t *argb, const struct xine_clut_s *palette, uint } } -void rle_palette_to_rgba(uint32_t *rgba, const struct xine_clut_s *palette, uint entries) +void rle_palette_to_rgba(uint32_t *rgba, const struct osd_clut_s *palette, uint entries) { uint i; for (i = 0; i < entries; i++) { @@ -419,7 +419,7 @@ void rle_palette_to_rgba(uint32_t *rgba, const struct xine_clut_s *palette, uint static void rle_uncompress_u32(uint32_t *dst, uint w, uint h, uint stride, - const struct xine_rle_elem_s *rle_data, uint num_rle, + const struct osd_rle_elem_s *rle_data, uint num_rle, uint32_t *lut) { uint i, pixelcounter = 0; @@ -446,8 +446,8 @@ static void rle_uncompress_u32(uint32_t *dst, void rle_uncompress_argb(uint32_t *dst, uint w, uint h, uint stride, - const struct xine_rle_elem_s *rle_data, uint num_rle, - const struct xine_clut_s *palette, uint palette_entries) + const struct osd_rle_elem_s *rle_data, uint num_rle, + const struct osd_clut_s *palette, uint palette_entries) { uint32_t lut[256] = {0}; @@ -461,8 +461,8 @@ void rle_uncompress_argb(uint32_t *dst, void rle_uncompress_rgba(uint32_t *dst, uint w, uint h, uint stride, - const struct xine_rle_elem_s *rle_data, uint num_rle, - const struct xine_clut_s *palette, uint palette_entries) + const struct osd_rle_elem_s *rle_data, uint num_rle, + const struct osd_clut_s *palette, uint palette_entries) { uint32_t lut[256] = {0}; diff --git a/tools/rle.h b/tools/rle.h index 9f35a8c6..da5f827c 100644 --- a/tools/rle.h +++ b/tools/rle.h @@ -4,7 +4,7 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: rle.h,v 1.7 2012-01-24 11:23:10 phintuka Exp $ + * $Id: rle.h,v 1.8 2014-06-23 12:14:15 phintuka Exp $ * */ @@ -21,28 +21,28 @@ typedef enum { } scale_mode_t; -struct xine_rle_elem_s; -struct xine_clut_s; +struct osd_rle_elem_s; +struct osd_clut_s; -uint rle_compress(struct xine_rle_elem_s **rle_data, const uint8_t *data, uint w, uint h); +uint rle_compress(struct osd_rle_elem_s **rle_data, const uint8_t *data, uint w, uint h); uint rle_compress_net(uint8_t **rle_data, uint *elems, const uint8_t *data, uint w, uint h); -uint rle_recompress_net(uint8_t *raw, xine_rle_elem_t *data, uint elems); +uint rle_recompress_net(uint8_t *raw, osd_rle_elem_t *data, uint elems); -void rle_palette_to_argb(uint32_t *argb, const struct xine_clut_s *palette, uint entries); -void rle_palette_to_rgba(uint32_t *rgba, const struct xine_clut_s *palette, uint entries); +void rle_palette_to_argb(uint32_t *argb, const struct osd_clut_s *palette, uint entries); +void rle_palette_to_rgba(uint32_t *rgba, const struct osd_clut_s *palette, uint entries); void rle_uncompress_lut8(uint8_t *dst, uint w, uint h, uint stride, - const struct xine_rle_elem_s *rle_data, uint num_rle); + const struct osd_rle_elem_s *rle_data, uint num_rle); void rle_uncompress_argb(uint32_t *dst, uint w, uint h, uint stride, - const struct xine_rle_elem_s *rle_data, uint num_rle, - const struct xine_clut_s *palette, uint palette_entries); + const struct osd_rle_elem_s *rle_data, uint num_rle, + const struct osd_clut_s *palette, uint palette_entries); void rle_uncompress_rgba(uint32_t *dst, uint w, uint h, uint stride, - const struct xine_rle_elem_s *rle_data, uint num_rle, - const struct xine_clut_s *palette, uint palette_entries); + const struct osd_rle_elem_s *rle_data, uint num_rle, + const struct osd_clut_s *palette, uint palette_entries); /* * rle_scale_nearest() @@ -50,7 +50,7 @@ void rle_uncompress_rgba(uint32_t *dst, * - Simple nearest-neighbour scaling for RLE-compressed image * - fast scaling in compressed form without decompression */ -struct xine_rle_elem_s *rle_scale_nearest(const struct xine_rle_elem_s *old_rle, +struct osd_rle_elem_s *rle_scale_nearest(const struct osd_rle_elem_s *old_rle, int *rle_elems, uint w, uint h, uint new_w, uint new_h); @@ -60,7 +60,7 @@ struct xine_rle_elem_s *rle_scale_nearest(const struct xine_rle_elem_s *old_rle, */ size_t rle_compress_hdmv(uint8_t **rle_data, const uint8_t *data, uint w, uint h, int *num_rle); -int rle_uncompress_hdmv(struct xine_rle_elem_s **data, +int rle_uncompress_hdmv(struct osd_rle_elem_s **data, uint w, uint h, const uint8_t *rle_data, uint num_rle, size_t rle_size); diff --git a/xine/osd_manager.c b/xine/osd_manager.c index e528600e..cc6267e2 100644 --- a/xine/osd_manager.c +++ b/xine/osd_manager.c @@ -4,7 +4,7 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: osd_manager.c,v 1.28 2013-10-02 08:05:42 phintuka Exp $ + * $Id: osd_manager.c,v 1.29 2014-06-23 12:14:15 phintuka Exp $ * */ @@ -156,7 +156,7 @@ video_overlay_manager_t *get_ovl_manager(osd_manager_impl_t *this) #define saturate(x,min,max) ( (x)<(min) ? (min) : (x)>(max) ? (max) : (x)) -static void palette_argb_to_ayuv(xine_clut_t *clut, int colors) +static void palette_argb_to_ayuv(osd_clut_t *clut, int colors) { if (clut && colors>0) { int c; @@ -244,10 +244,10 @@ static void osdcmd_scale(osd_manager_impl_t *this, osd_command_t *cmd, osd->cmd.datalen = cmd->datalen; /* scale */ - int rle_elems = cmd->datalen / sizeof(xine_rle_elem_t); + int rle_elems = cmd->datalen / sizeof(osd_rle_elem_t); cmd->data = rle_scale_nearest(cmd->data, &rle_elems, cmd->w, cmd->h, new_w, new_h); - cmd->datalen = rle_elems * sizeof(xine_rle_elem_t); + cmd->datalen = rle_elems * sizeof(osd_rle_elem_t); cmd->x = new_x; cmd->y = new_y; @@ -472,7 +472,7 @@ static int exec_osd_set_rle(osd_manager_impl_t *this, osd_command_t *cmd) palette_argb_to_ayuv(cmd->palette, cmd->colors); cmd->flags |= OSDFLAG_YUV_CLUT; - osd->cmd.palette = malloc(sizeof(xine_clut_t)*cmd->colors); + osd->cmd.palette = malloc(sizeof(osd_clut_t)*cmd->colors); memcpy(osd->cmd.palette, cmd->palette, 4*cmd->colors); osd->cmd.flags |= OSDFLAG_YUV_CLUT; } @@ -777,8 +777,8 @@ static int exec_osd_set_palette(osd_manager_impl_t *this, osd_command_t *cmd) /* replace palette */ tmp.cmd = OSD_Set_RLE; free(tmp.palette); - tmp.palette = malloc(cmd->colors*sizeof(xine_rle_elem_t)); - memcpy(tmp.palette, cmd->palette, cmd->colors*sizeof(xine_rle_elem_t)); + tmp.palette = malloc(cmd->colors * sizeof(osd_rle_elem_t)); + memcpy(tmp.palette, cmd->palette, cmd->colors * sizeof(osd_rle_elem_t)); tmp.colors = cmd->colors; tmp.pts = cmd->pts; tmp.delay_ms = cmd->delay_ms; diff --git a/xine/vo_osdscaler.c b/xine/vo_osdscaler.c index 0d22c0cc..d7620f38 100644 --- a/xine/vo_osdscaler.c +++ b/xine/vo_osdscaler.c @@ -4,7 +4,7 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: vo_osdscaler.c,v 1.15 2013-08-19 08:20:30 phintuka Exp $ + * $Id: vo_osdscaler.c,v 1.16 2014-06-23 12:14:16 phintuka Exp $ * */ @@ -25,7 +25,7 @@ /*#define LOGOSD(x...) LOGMSG(x)*/ #define LOGOSD(x...) -typedef rle_elem_t xine_rle_elem_t; +typedef rle_elem_t osd_rle_elem_t; #include "../tools/rle.h" @@ -160,7 +160,7 @@ static osd_data_t *osd_data_init(vo_overlay_t *ovl, osd_data_t *next, #endif data->ovl.rle = (rle_elem_t*) - rle_scale_nearest((struct xine_rle_elem_s*)ovl->rle, &num_rle, + rle_scale_nearest((struct osd_rle_elem_s*)ovl->rle, &num_rle, ovl->width, ovl->height, data->ovl.width, data->ovl.height); data->ovl.num_rle = num_rle; diff --git a/xine_input_vdr.c b/xine_input_vdr.c index c53d48b0..fb8dfb1a 100644 --- a/xine_input_vdr.c +++ b/xine_input_vdr.c @@ -4,7 +4,7 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: xine_input_vdr.c,v 1.364 2013-01-15 20:33:29 phintuka Exp $ + * $Id: xine_input_vdr.c,v 1.365 2014-06-23 12:14:15 phintuka Exp $ * */ @@ -136,7 +136,7 @@ typedef struct { # include <linux/unistd.h> /* syscall(__NR_gettid) */ #endif -static const char module_revision[] = "$Id: xine_input_vdr.c,v 1.364 2013-01-15 20:33:29 phintuka Exp $"; +static const char module_revision[] = "$Id: xine_input_vdr.c,v 1.365 2014-06-23 12:14:15 phintuka Exp $"; static const char log_module_input_vdr[] = "[input_vdr] "; #define LOG_MODULENAME log_module_input_vdr #define SysLogLevel iSysLogLevel @@ -1928,9 +1928,9 @@ static input_plugin_t *fifo_class_get_instance (input_class_t *class_gen, /******************************** OSD ************************************/ -static xine_rle_elem_t *uncompress_osd_net(uint8_t *raw, int elems, int datalen) +static osd_rle_elem_t *uncompress_osd_net(uint8_t *raw, int elems, int datalen) { - xine_rle_elem_t *data = (xine_rle_elem_t*)malloc(elems*sizeof(xine_rle_elem_t)); + osd_rle_elem_t *data = (osd_rle_elem_t *)malloc(elems * sizeof(osd_rle_elem_t)); int i; /* @@ -2772,7 +2772,7 @@ static int handle_control_osdcmd(vdr_input_plugin_t *this) /* read palette */ if (osdcmd.palette && osdcmd.colors>0) { - ssize_t bytes = sizeof(xine_clut_t)*(osdcmd.colors); + ssize_t bytes = sizeof(osd_clut_t) * osdcmd.colors; osdcmd.palette = malloc(bytes); if (read_control(this, (unsigned char *)osdcmd.palette, bytes) != bytes) { LOGMSG("control: error reading OSDCMD palette"); @@ -2784,7 +2784,7 @@ static int handle_control_osdcmd(vdr_input_plugin_t *this) /* read (RLE) data */ if (err == CONTROL_OK && osdcmd.data && osdcmd.datalen>0) { - osdcmd.data = (xine_rle_elem_t*)malloc(osdcmd.datalen); + osdcmd.data = (osd_rle_elem_t *)malloc(osdcmd.datalen); if(read_control(this, (unsigned char *)osdcmd.data, osdcmd.datalen) != (ssize_t)osdcmd.datalen) { LOGMSG("control: error reading OSDCMD bitmap"); diff --git a/xine_osd_command.h b/xine_osd_command.h index c4504621..208a5a0f 100644 --- a/xine_osd_command.h +++ b/xine_osd_command.h @@ -4,7 +4,7 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: xine_osd_command.h,v 1.17 2011-03-05 13:52:43 phintuka Exp $ + * $Id: xine_osd_command.h,v 1.18 2014-06-23 12:14:15 phintuka Exp $ * */ @@ -47,7 +47,7 @@ typedef enum { #define OSDFLAG_TOP_LAYER 0x10 /* window is part of top layer OSD */ -typedef struct xine_clut_s { +typedef struct osd_clut_s { union { uint8_t cb /*: 8*/; uint8_t g; @@ -61,12 +61,12 @@ typedef struct xine_clut_s { uint8_t r; }; uint8_t alpha /*: 8*/; -} PACKED xine_clut_t; /* from xine, alphablend.h */ +} PACKED osd_clut_t; /* from xine, alphablend.h */ -typedef struct xine_rle_elem_s { +typedef struct osd_rle_elem_s { uint16_t len; uint16_t color; -} PACKED xine_rle_elem_t; /* from xine */ +} PACKED osd_rle_elem_t; /* from xine */ typedef struct osd_rect_s { uint16_t x1; @@ -94,13 +94,13 @@ typedef struct osd_command_s { uint32_t datalen; /* size of image data, in bytes */ uint32_t num_rle; union { - xine_rle_elem_t *data; /* RLE compressed image */ + osd_rle_elem_t *data; /* RLE compressed image */ uint8_t *raw_data; uint64_t dummy01; }; uint32_t colors; /* palette size */ union { - xine_clut_t *palette; /* palette (YCrCb) */ + osd_clut_t *palette; /* palette (YCrCb) */ uint64_t dummy02; }; @@ -155,7 +155,6 @@ typedef struct osd_command_s { # error __BYTE_ORDER undefined ! #endif - #if defined __cplusplus } #endif |