[Help] Reason on when to declare and protect ZEND_API function
| From: | Su, Tao | Date: | Thu, 20 Jan 2022 08:56:10 +0000 |
| Subject: | [Help] Reason on when to declare and protect ZEND_API function | ||
| Groups: | php.internals | ||
| Request: | Send a blank email to internals+get-116900@lists.php.net to get a copy of this message | ||
Hello internals,
I am trying to read Zend header files to understand its functional interfaces,
but have got confusion and anybody knows why zend_startup_system_id() and zend_finalize_system_id()
do not have to be protected by BEGIN_EXTERN_C()/END_EXTERN_C() enclosure,
but zend_add_system_entropy() has to.
Is the following code intentional for any reason?
And also, these two functions do not have ZEND_API attribute. Thanks.
Zend/zend_system_id.h
BEGIN_EXTERN_C()
/* True global; Write-only during MINIT/startup */
extern ZEND_API char zend_system_id[32];
ZEND_API ZEND_RESULT_CODE zend_add_system_entropy(const char *module_name, const char *hook_name,
const void *data, size_t size);
END_EXTERN_C()
void zend_startup_system_id(void);
void zend_finalize_system_id(void);
=======================================
Tony Su (Su, Tao)
make a 'lazy' programmer diligently with efficiency