468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
|
#define __getFieldPtr__(obj, field) (&((obj)->field))
#define __getField__(ptr, offset, type) (* (*type) ( __addrFromPtr__(ptr) + offset ) )
#define __alignOf__(type) (offsetof(struct { char c; type member; }, member))
#define __fieldParentPtr__(type, field, instance) ((type *)(__addrFromPtr__(instance) - offsetof(type, field)))
#define __arrayLen__(array) (sizeof(array) / sizeof(array[0]))
// text
#define __CTextLen__(str) (__arrayLen__(str) - 1)
#define __Slice_fromCText__(text) {.ptr=text, .len=__CTextLen__(text)}
#define __CTextPtr_fromCText__(text) ((char(*)[__CTextLen__(text)]) text)
#define __CTextPtr_lvalue__(name, text) (char(*name)[__CTextLen__(text)])
#define __CTextPtr_declare__(name, text) __CTextPtr_lvalue__(name, text) = __CTextPtr_fromCText__(text)
// crypto
#define Sha1_block_size 64
#define Sha1_digest_length 20
// Network
#define max_allowed_listen_port 49151
#define PRISOCK "%llx"
|
<
>
>
>
>
>
|
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
|
#define __getFieldPtr__(obj, field) (&((obj)->field))
#define __getField__(ptr, offset, type) (* (*type) ( __addrFromPtr__(ptr) + offset ) )
#define __alignOf__(type) (offsetof(struct { char c; type member; }, member))
#define __fieldParentPtr__(type, field, instance) ((type *)(__addrFromPtr__(instance) - offsetof(type, field)))
#define __arrayLen__(array) (sizeof(array) / sizeof(array[0]))
// text
#define __CTextLen__(str) (__arrayLen__(str) - 1)
#define __CTextPtr_fromCText__(text) ((char(*)[__CTextLen__(text)]) text)
#define __CTextPtr_lvalue__(name, text) (char(*name)[__CTextLen__(text)])
#define __CTextPtr_declare__(name, text) __CTextPtr_lvalue__(name, text) = __CTextPtr_fromCText__(text)
// slice
#define __len_and_text__(str) __CTextLen__(str), str
#define __text_and_len__(str) str, __CTextLen__(str)
#define __Slice_fromCText__(text) {.ptr=text, .len=__CTextLen__(text)}
// crypto
#define Sha1_block_size 64
#define Sha1_digest_length 20
// Network
#define max_allowed_listen_port 49151
#define PRISOCK "%llx"
|