libmapiadmin/libmapiadmin.h File Reference

Structures for MAPI admin functions. More...

#include <sys/types.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
#include <stdint.h>
#include <talloc.h>
#include <ldb.h>
#include <tevent.h>
#include "libmapi/libmapi.h"

Data Structures

struct  mapiadmin_ctx
 MAPI admin function context. More...
struct  test_join

Defines

#define __BEGIN_DECLS
#define __END_DECLS
#define _GNU_SOURCE   1
#define _PRINTF_ATTRIBUTE(a1, a2)
#define _PRINTF_ATTRIBUTE(a1, a2)   PRINTF_ATTRIBUTE(a1, a2)
#define DEFAULT_PROFDB_PATH   "%s/.openchange/profiles.ldb"
#define MAPIADMIN_DEBUG_STR   "[%s:%d]: %s %s\n", __FUNCTION__, __LINE__
#define MAX(p, q)   (((p) >= (q)) ? (p) : (q))

Functions

void arcfour_crypt_blob (uint8_t *, int, const DATA_BLOB *)
__BEGIN_DECLS struct ldb_dn
*struct dom_sid * 
dom_sid_add_rid (TALLOC_CTX *, const struct dom_sid *, uint32_t)
bool encode_pw_buffer (uint8_t buffer[516], const char *, int)
struct mapiadmin_ctxmapiadmin_init (struct mapi_session *)
 Create and initialise a mapiadmin_ctx structure.
enum MAPISTATUS mapiadmin_release (struct mapiadmin_ctx *)
 Clean up a mapiadmin_ctx structure.
enum MAPISTATUS mapiadmin_user_add (struct mapiadmin_ctx *)
 Add a user to Active Directory.
enum MAPISTATUS mapiadmin_user_del (struct mapiadmin_ctx *)
 Delete a user from Active Directory.
enum MAPISTATUS mapiadmin_user_extend (struct mapiadmin_ctx *)
 Extend user attributes to be Exchange user.
enum MAPISTATUS mapiadmin_user_mod (struct mapiadmin_ctx *)
__BEGIN_DECLS struct ldb_dn * samdb_search_dn (struct ldb_context *, TALLOC_CTX *, struct ldb_dn *, const char *,...) _PRINTF_ATTRIBUTE(4

Detailed Description

Structures for MAPI admin functions.


Define Documentation

#define __BEGIN_DECLS
#define __END_DECLS
#define _GNU_SOURCE   1
#define _PRINTF_ATTRIBUTE ( a1,
a2   ) 
#define _PRINTF_ATTRIBUTE ( a1,
a2   )     PRINTF_ATTRIBUTE(a1, a2)
#define DEFAULT_PROFDB_PATH   "%s/.openchange/profiles.ldb"
#define MAPIADMIN_DEBUG_STR   "[%s:%d]: %s %s\n", __FUNCTION__, __LINE__

Referenced by mapiadmin_user_extend().

#define MAX ( p,
 )     (((p) >= (q)) ? (p) : (q))

Referenced by mapiadmin_user_add().


Function Documentation

void arcfour_crypt_blob ( uint8_t *  ,
int  ,
const DATA_BLOB *   
)

Referenced by mapiadmin_user_add().

__BEGIN_DECLS struct ldb_dn* struct dom_sid* dom_sid_add_rid ( TALLOC_CTX *  ,
const struct dom_sid *  ,
uint32_t   
) [read]

Referenced by mapiadmin_user_add().

bool encode_pw_buffer ( uint8_t  buffer[516],
const char *  ,
int   
)

Referenced by mapiadmin_user_add().

struct mapiadmin_ctx* mapiadmin_init ( struct mapi_session *  session  )  [read]

Create and initialise a mapiadmin_ctx structure.

You should use mapiadmin_release to clean up the mapiadmin_ctx structure when done.

References mapiadmin_ctx::binding.

enum MAPISTATUS mapiadmin_release ( struct mapiadmin_ctx mapiadmin_ctx  ) 

Clean up a mapiadmin_ctx structure.

The structure is assumed to have been allocated using mapiadmin_init() or equivalent code.

enum MAPISTATUS mapiadmin_user_del ( struct mapiadmin_ctx  ) 

Delete a user from Active Directory.

References mapiadmin_ctx::handle, test_join::p, mapiadmin_ctx::user_ctx, and mapiadmin_ctx::username.

Referenced by mapiadmin_user_add().

enum MAPISTATUS mapiadmin_user_extend ( struct mapiadmin_ctx  ) 

Extend user attributes to be Exchange user.

References MAPIADMIN_DEBUG_STR, samdb_search_dn(), mapiadmin_ctx::session, mapiadmin_ctx::user_ctx, and test_join::user_sid.

Referenced by mapiadmin_user_add().

enum MAPISTATUS mapiadmin_user_mod ( struct mapiadmin_ctx  ) 
__BEGIN_DECLS struct ldb_dn* samdb_search_dn ( struct ldb_context *  ,
TALLOC_CTX *  ,
struct ldb_dn *  ,
const char *  ,
  ... 
) [read]

Referenced by mapiadmin_user_extend().


Creative Commons License
Creative Commons Attribution icon Creative Commons Share Alike icon
This content is licensed under the Creative Commons
Attribution ShareAlike License v. 3.0:
http://creativecommons.org/licenses/by-sa/3.0/