#include "h-basic.h"
マクロ定義 | |
#define | C_SIZE(N, T) ((huge)((N)*(sizeof(T)))) |
#define | SIZE(T) ((huge)(sizeof(T))) |
#define | C_DIFF(P1, P2, N, T) (memcmp((char*)(P1),(char*)(P2),C_SIZE(N,T))) |
#define | DIFF(P1, P2, T) (memcmp((char*)(P1),(char*)(P2),SIZE(T))) |
#define | C_BSET(P, V, N, T) (T*)(memset((char*)(P),(V),C_SIZE(N,T))) |
#define | BSET(P, V, T) (T*)(memset((char*)(P),(V),SIZE(T))) |
#define | C_WIPE(P, N, T) (T*)(memset((char*)(P),0,C_SIZE(N,T))) |
#define | WIPE(P, T) (T*)(memset((char*)(P),0,SIZE(T))) |
#define | C_COPY(P1, P2, N, T) (T*)(memcpy((char*)(P1),(char*)(P2),C_SIZE(N,T))) |
#define | COPY(P1, P2, T) (T*)(memcpy((char*)(P1),(char*)(P2),SIZE(T))) |
#define | C_FREE(P, N, T) (T*)(rnfree(P,C_SIZE(N,T))) |
#define | FREE(P, T) (T*)(rnfree(P,SIZE(T))) |
#define | C_RNEW(N, T) ((T*)(ralloc(C_SIZE(N,T)))) |
#define | RNEW(T) ((T*)(ralloc(SIZE(T)))) |
#define | C_ZNEW(N, T) ((T*)(C_WIPE(C_RNEW(N,T),N,T))) |
#define | ZNEW(T) ((T*)(WIPE(RNEW(T),T))) |
#define | C_MAKE(P, N, T) ((P)=C_ZNEW(N,T)) |
#define | MAKE(P, T) ((P)=ZNEW(T)) |
#define | C_KILL(P, N, T) ((P)=C_FREE(P,N,T)) |
#define | KILL(P, T) ((P)=FREE(P,T)) |
関数 | |
vptr | rnfree (vptr p, huge len) |
vptr | rpanic (huge len) |
vptr | ralloc (huge len) |
cptr | string_make (cptr str) |
errr | string_free (cptr str) |
変数 | |
vptr(* | rnfree_aux )(vptr, huge) |
vptr(* | rpanic_aux )(huge) |
vptr(* | ralloc_aux )(huge) |
#define BSET | ( | P, | |
V, | |||
T | |||
) | (T*)(memset((char*)(P),(V),SIZE(T))) |
#define C_BSET | ( | P, | |
V, | |||
N, | |||
T | |||
) | (T*)(memset((char*)(P),(V),C_SIZE(N,T))) |
#define C_COPY | ( | P1, | |
P2, | |||
N, | |||
T | |||
) | (T*)(memcpy((char*)(P1),(char*)(P2),C_SIZE(N,T))) |
#define C_DIFF | ( | P1, | |
P2, | |||
N, | |||
T | |||
) | (memcmp((char*)(P1),(char*)(P2),C_SIZE(N,T))) |
#define C_KILL | ( | P, | |
N, | |||
T | |||
) | ((P)=C_FREE(P,N,T)) |
#define C_MAKE | ( | P, | |
N, | |||
T | |||
) | ((P)=C_ZNEW(N,T)) |
#define C_SIZE | ( | N, | |
T | |||
) | ((huge)((N)*(sizeof(T)))) |
#define C_WIPE | ( | P, | |
N, | |||
T | |||
) | (T*)(memset((char*)(P),0,C_SIZE(N,T))) |
#define COPY | ( | P1, | |
P2, | |||
T | |||
) | (T*)(memcpy((char*)(P1),(char*)(P2),SIZE(T))) |
#define DIFF | ( | P1, | |
P2, | |||
T | |||
) | (memcmp((char*)(P1),(char*)(P2),SIZE(T))) |
#define KILL | ( | P, | |
T | |||
) | ((P)=FREE(P,T)) |
#define MAKE | ( | P, | |
T | |||
) | ((P)=ZNEW(T)) |
#define SIZE | ( | T | ) | ((huge)(sizeof(T))) |
#define WIPE | ( | P, | |
T | |||
) | (T*)(memset((char*)(P),0,SIZE(T))) |