SDK Multiplataforma en C logo

SDK Multiplataforma en C

Sewer

❮ Anterior
Siguiente ❯

Incluso los más grandes palacios necesitaban alcantarillas. Tom Lehrer


Funciones

void(*FPtr_destroy (...))
type*(*FPtr_copy (...))
int(*FPtr_compare (...))
int(*FPtr_compare_ex (...))
void(*FPtr_assert (...))
voidunref (...)

Tipos y Constantes

int8_t
int16_t
int32_t
int64_t
uint8_t
uint16_t
uint32_t
uint64_t
char_t
byte_t
bool_t
real
real32_t
real64_t
bool_tTRUE
bool_tFALSE
void*NULL
int8_tINT8_MIN
int8_tINT8_MAX
int16_tINT16_MIN
int16_tINT16_MAX
int32_tINT32_MIN
int32_tINT32_MAX
int64_tINT64_MIN
int64_tINT64_MAX
uint8_tUINT8_MAX
uint16_tUINT16_MAX
uint32_tUINT32_MAX
uint64_tUINT64_MAX
enumunicode_t

sewer es la librería más elemental dentro del SDK de NAppGUI (Figura 1). En ella se declaran los tipos básicos, el soporte fundamental para Unicode, aserciones y manipulación segura de punteros. También es utilizada como "sumidero" donde enterrar las antiestéticas macros del preprocesador necesarias para configurar el compilador, CPU, plataformas, etc. Sus únicas dependencias son unas cuantas cabeceras de la librería estándar de C:

  • <stdint.h>: Para tipos enteros de tamaño fijo y límites.
  • <stdarg.h>: Para soportar funciones con un número de parámetros variable.
  • <stddef.h>: Para la constante NULL y la macro offsetof.
  • Árbol de dependencias de la librería sewer.
    Figura 1: Dependencias de sewer. Ver Referencia del SDK.

int8_t

Entero con signo de 8 bits. Puede representar un valor entre INT8_MIN y INT8_MAX.


int16_t

Entero con signo de 16 bits. Puede representar un valor entre INT16_MIN y INT16_MAX.


int32_t

Entero con signo de 32 bits. Puede representar un valor entre INT32_MIN y INT32_MAX.


int64_t

Entero con signo de 64 bits. Puede representar un valor entre INT64_MIN y INT64_MAX.


uint8_t

Entero sin signo de 8 bits. Puede representar un valor entre 0 y UINT8_MAX.


uint16_t

Entero sin signo de 16 bits. Puede representar un valor entre 0 y UINT16_MAX.


uint32_t

Entero sin signo de 32 bits. Puede representar un valor entre 0 y UINT32_MAX.


uint64_t

Entero sin signo de 64 bits. Puede representar un valor entre 0 y UINT64_MAX.


char_t

Tipo carácter de 8 bits (Unicode). Un solo carácter puede necesitar 1, 2, 3 o 4 elementos (bytes), dependiendo de Codificaciones UTF.


byte_t

Tipo de 8 bits para almacenar bloques de memoria genéricos.


bool_t

Booleano de 8 bits. Solo dos valores son correctos TRUE (1) y FALSE (0).


real

Número de punto flotante de 32 o 64 bits.


real32_t

Número de punto flotante de 32 bits. El tipo float de C.


real64_t

Número de punto flotante de 64 bits. El tipo double de C.


TRUE

const bool_t TRUE = 1;

Cierto, verdadero.


FALSE

const bool_t FALSE = 0;

Falso.


NULL

const void* NULL = 0;

Puntero nulo.


INT8_MIN

const int8_t INT8_MIN = 0x80;

-128.


INT8_MAX

const int8_t INT8_MAX = 0x7F;

127.


INT16_MIN

const int16_t INT16_MIN = 0x8000;

-32.768.


INT16_MAX

const int16_t INT16_MAX = 0x7FFF;

32.767.


INT32_MIN

const int32_t INT32_MIN = 0x80000000;

-2.147.483.648.


INT32_MAX

const int32_t INT32_MAX = 0x7FFFFFFF;

2.147.483.647.


INT64_MIN

const int64_t INT64_MIN = 0x8000000000000000;

-9.223.372.036.854.775.808.


INT64_MAX

const int64_t INT64_MAX = 0x7FFFFFFFFFFFFFFF;

9.223.372.036.854.775.807.


UINT8_MAX

const uint8_t UINT8_MAX = 0xFF;

255.


UINT16_MAX

const uint16_t UINT16_MAX = 0xFFFF;

65.535.


UINT32_MAX

const uint32_t UINT32_MAX = 0xFFFFFFFF;

4.294.967.295.


UINT64_MAX

const uint64_t UINT64_MAX = 0xFFFFFFFFFFFFFFFF;

18.446.744.073.709.551.615.


enum unicode_t

Representa las Codificaciones UTF.

enum unicode_t
{
    ekUTF8,
    ekUTF16,
    ekUTF32
};
ekUTF8

Codificación UTF8.

ekUTF16

Codificación UTF16.

ekUTF32

Codificación UTF32.


FPtr_destroy

Prototipo de función destructora.

void
(*FPtr_destroy)(type **item);
item

Doble puntero al objeto a destruir. Debe ser puesto a NULL tras la destrucción para invalidar su uso.


FPtr_copy

Prototipo de constructor de copia.

type*
(*FPtr_copy)(const type *item);
item

Puntero al objeto que debe ser copiado.

Retorna

El nuevo objeto que es una copia exacta de la entrada.


FPtr_compare

Prototipo de función de comparación.

int
(*FPtr_compare)(const type *item1,
                const type *item2);
item1

Primer elemento a comparar.

item2

Segundo elemento a comparar.

Retorna

Resultado de la comparación.


FPtr_compare_ex

Similar a FPtr_compare, pero recibe un parámetro adicional que puede influir en la comparación.

int
(*FPtr_compare_ex)(const type *item1,
                   const type *item2,
                   const dtype *data);
item1

Primer elemento a comparar.

item2

Segundo elemento a comparar.

data

Parámetro adicional.

Retorna

Resultado de la comparación.


FPtr_assert

Prototipo de función callback llamada cuando se produce un assert.

void
(*FPtr_assert)(type *item,
               const uint32_t group,
               const char_t *caption,
               const char_t *detail,
               const char_t *file,
               const uint32_t line);
item

Datos de usuario pasados como primer parámetro.

group

0 = Error fatal, 1 = La ejecución puede continuar.

caption

Título.

detail

Mensaje detallado.

file

Archivo fuente donde ocurrió el assert.

line

Línea dentro del archivo fuente.


unref ()

Marca el parámetro como no referenciado, desactivando los avisos del compilador.

void
unref(param);
1
2
3
4
5
static void i_OnClick(App *app, Event *e)
{
    unref(e);
    app_click_action(app);
}
param

Parámetro.

❮ Anterior
Siguiente ❯