• Deomid Ryabkov's avatar
    Change from using #ifdef to #if for features tests · bafc30be
    Deomid Ryabkov authored
    "#if FOO" still works with simple -DFOO, but gives more flexibility.
    Specifically, if user expressed no preference (FOO is not defined),
    we can apply reasonable defaults (this is the legitimate use of ifdef).
    
    In short, from now on, please use
    
     #if MG_ENABLE_FOO
    
    instead of
    
     #ifdef MG_ENABLE_FOO
    
    Since we are all used to #ifdef, this change also adds a precommit check
    to police this. Specifically, in *.h and *.c files that are Copyright Cesanta,
    "ifdef" and "if defined()" are not allowed to be used with macros that contain
    ENABLE or DISABLE, unless the like also contains "ifdef-ok".
    
    Hence, if you are sure you want to use ifdef, use this:
    
     #ifdef MG_ENABLE_FOO /* ifdef-ok */
    
    PUBLISHED_FROM=9be829448f53cff575d6cae8b9945fb12531c15a
    bafc30be
struct_mg_bind_opts.md 899 Bytes
title: "struct mg_bind_opts"
decl_name: "struct mg_bind_opts"
symbol_kind: "struct"
signature: |
  struct mg_bind_opts {
    void *user_data;           /* Initial value for connection's user_data */
    unsigned int flags;        /* Extra connection flags */
    const char **error_string; /* Placeholder for the error string */
  #if MG_ENABLE_SSL
    /* SSL settings. */
    const char *ssl_cert;    /* Server certificate to present to clients */
    const char *ssl_key;     /* Private key corresponding to the certificate.
                                If ssl_cert is set but ssl_key is not, ssl_cert
                                is used. */
    const char *ssl_ca_cert; /* Verify client certificates with this CA bundle */
  #endif
  };

Optional parameters to mg_bind_opt().

flags is an initial struct mg_connection::flags bitmask to set, see MG_F_* flags definitions.