summaryrefslogtreecommitdiffhomepage
path: root/src/nxt_service.h
blob: c43d5394feca2f6b3bb3fcbfbe231c5abe16af04 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

/*
 * Copyright (C) Igor Sysoev
 * Copyright (C) NGINX, Inc.
 */

#ifndef _NXT_SERVICE_H_INCLUDED_
#define _NXT_SERVICE_H_INCLUDED_


typedef struct {
    const char  *type;
    const char  *name;
    const void  *service;
} nxt_service_t;


#define nxt_service_is_module(s)                                              \
    ((s)->type == NULL)


NXT_EXPORT nxt_array_t *nxt_services_init(nxt_mp_t *mp);
NXT_EXPORT nxt_int_t nxt_service_add(nxt_array_t *services,
    const nxt_service_t *service);
NXT_EXPORT const void *nxt_service_get(nxt_array_t *services, const char *type,
    const char *name);


#endif /* _NXT_SERVICE_H_INCLUDED_ */