# Confd-6.3 missing maapi\_start\_user\_session() in libconfd

**URL:** <https://dmap-community.ductus.global/t/confd-6-3-missing-maapi-start-user-session-in-libconfd/1012>\
**Category:** Installation\
**Created:** [February 11, 2017, 5:37am UTC](https://dmap-community.ductus.global/t/confd-6-3-missing-maapi-start-user-session-in-libconfd/1012 "2017-02-11T05:37:31Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Salman](https://avatars.discourse-cdn.com/v4/letter/s/f6c823/32.png) [@Salman](https://dmap-community.ductus.global/u/Salman)\
**Post date:** [February 11, 2017, 5:37am UTC](https://dmap-community.ductus.global/t/confd-6-3-missing-maapi-start-user-session-in-libconfd/1012/1 "2017-02-11T05:37:31Z")

</div>

Hi,

I’m trying to upgrade my code from Confd 5.4 to Confd 6.3 for linux powerpc.  
The package for confd-basic-6.3.linux.powerpc contains “confd-basic-6.3.libconfd.tar.gz”. I use this libconfd to rebuild it for my openssl version 0.9.8.

A build of this libconfd compiles fine but my application fails to link with it because some maapi API calls are missing e.g  
maapi\_start\_user\_session() is missing  
maapi\_start\_trans() is missing

and they are missing from libconfd/src/maapi.c file as well.  
This is not the case with Confd-basic 5.4 package.

Need help to figure what am I missing?  
Thanks

---

<div class="post-metadata">

**Author:** ![cohult](https://yyz2.discourse-cdn.com/flex010/user_avatar/dmap-community.ductus.global/cohult/32/221_2.png) [@cohult](https://dmap-community.ductus.global/u/cohult)\
**Post date:** [February 11, 2017, 11:04am UTC](https://dmap-community.ductus.global/t/confd-6-3-missing-maapi-start-user-session-in-libconfd/1012/2 "2017-02-11T11:04:08Z")

</div>

Hi,

Your application likely fail to link since you need to include the confd\_maapi.h header file with your C-application.  
The maapi\_start\_user\_session() and maapi\_start\_trans() are #define directive macros.  
See $CONFD\_DIR/include/confd\_maapi.h for details.

Learn more about macros for example here:  
[https://gcc.gnu.org/onlinedocs/cpp/Macros.html](https://gcc.gnu.org/onlinedocs/cpp/Macros.html)

---

<div class="post-metadata">

**Author:** ![Salman](https://avatars.discourse-cdn.com/v4/letter/s/f6c823/32.png) [@Salman](https://dmap-community.ductus.global/u/Salman)\
**Post date:** [February 14, 2017, 12:53am UTC](https://dmap-community.ductus.global/t/confd-6-3-missing-maapi-start-user-session-in-libconfd/1012/3 "2017-02-14T00:53:59Z")

</div>

The issue here seems a bit more than just not including the right file!  
The definitions are different between 5.4 and 6.3 ( #define vs extern )

```
> 5.4 -> $CONFD_DIR/include/confd_maapi.h

    > extern int maapi_start_user_session(int sock,
    > const char *username,
    > const char *context,
    > const char **groups, int numgroups,
    > const struct confd_ip *src_addr,
    > enum confd_proto prot);

  
  > 6.3 -> $CONFD_DIR/include/confd_maapi.h

    > #define maapi_start_user_session(s, user, ctx, groups, n, addr, prot) \
    > maapi_start_user_session3(s, user, ctx, groups, n, addr, 0, prot, \
    > NULL, NULL, NULL, __MAAPI_CLIENT_ID__ )
```

---

<div class="post-metadata">

**Author:** ![Salman](https://avatars.discourse-cdn.com/v4/letter/s/f6c823/32.png) [@Salman](https://dmap-community.ductus.global/u/Salman)\
**Post date:** [February 14, 2017, 5:40am UTC](https://dmap-community.ductus.global/t/confd-6-3-missing-maapi-start-user-session-in-libconfd/1012/4 "2017-02-14T05:40:43Z")

</div>

Thanks for help. I was able to find the source of my linking error - I had a bad mix of old and new in my own build environment.
