usage info
[opsoft.git] / gclib2 / include / Macroses.h
blobc46bee44098ecbd10f595fca44be4e606c5e7b4f
1 /*
2 * (c) Oleg Puchinin 2007
3 * graycardinalster@gmail.com
5 */
7 #ifndef DEFINE_MACROSES_H
8 #define DEFINE_MACROSES_H
10 /// \brief Макрос, определяющий экспортировать ли функцию.
11 #define __export
13 /*! \brief Освободить память если занята затем установить в ноль.
14 * \param arga - указатель для освобождения.
16 #ifdef __cplusplus
17 #define DROP(arga) if (arga) { ::free (arga); arga = NULL; }
18 #else
19 #define DROP(arga) if (arga) { free (arga); arga = NULL; }
20 #endif
22 /*! \brief Выделить память.
23 * \param arga - тип элементов.
24 * \param argb - нужное количество элементов.
26 #define CNEW(arga,argb) (arga *)malloc (sizeof (arga)*(argb))
28 /// \brief Эквивалент !strcmp.
29 #define EQ(arga, argb) (!strcmp (arga, argb))
30 /// \brief Эквивалент strcmp.
31 #define NE(arga, argb) (strcmp (arga, argb))
33 /*! Удалить последний символ в строке.
34 * \param arga - соответственно строка.
36 #define chop(arg1) arg1[strlen(arg1) - 1] = 0
37 #define LPCHAR(arg) ((char *) arg)
39 typedef void (*Dfunc_t)(void *);
40 typedef void (*Dhash_f)(char *, char *);
41 typedef unsigned char uchar_t;
43 struct dkey_t {
44 char *KEY;
45 char *VALUE;
48 #endif