pam_appl.h 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. /**************************************************************************/
  2. /* */
  3. /* Licensed Materials - Property of IBM */
  4. /* */
  5. /* "Restricted Materials of IBM" */
  6. /* */
  7. /* IBM Informix Dynamic Server */
  8. /* (c) Copyright IBM Corporation 1996, 2002 All rights reserved. */
  9. /* */
  10. /**************************************************************************/
  11. /*
  12. * Copyright (c) 1992-2005, by Sun Microsystems, Inc.
  13. * All rights reserved.
  14. */
  15. #ifndef IFXPAM_APPL_H_INCL
  16. #define IFXPAM_APPL_H_INCL
  17. #include "pam_defs.h"
  18. struct pam_message {
  19. int msg_style;
  20. char *msg;
  21. };
  22. struct pam_response {
  23. char *resp;
  24. int resp_retcode;
  25. };
  26. struct pam_conv {
  27. int (*conv)(int, struct pam_message **,
  28. struct pam_response **, void *);
  29. void *appdata_ptr;
  30. };
  31. typedef struct pam_handle pam_handle_t;
  32. /*
  33. * Function prototypes
  34. */
  35. extern int
  36. pam_start(
  37. const char *service_name,
  38. const char *user,
  39. const struct pam_conv *pam_conv,
  40. pam_handle_t **pamh);
  41. extern int
  42. pam_end( pam_handle_t *pamh, int status);
  43. extern int
  44. pam_putenv( pam_handle_t *pamh, const char *name_value);
  45. extern char *
  46. pam_getenv( pam_handle_t *pamh, const char *name);
  47. extern int
  48. pam_set_item( pam_handle_t *pamh, int item_type, const void *item);
  49. extern int
  50. pam_get_item( const pam_handle_t *pamh, int item_type, void **item);
  51. extern int
  52. pam_set_data(pam_handle_t *pamh,
  53. const char *module_data_name,
  54. void *data,
  55. void (*cleanup)(pam_handle_t *pamh, void *data, int error_status));
  56. extern int
  57. pam_get_data(pam_handle_t *pamh,
  58. const char *module_data_name,
  59. const void **datap);
  60. extern int
  61. pam_authenticate( pam_handle_t *pamh, int flags);
  62. extern int
  63. pam_acct_mgmt( pam_handle_t *pamh, int flags);
  64. extern int
  65. pam_open_session( pam_handle_t *pamh, int flags);
  66. extern int
  67. pam_close_session( pam_handle_t *pamh, int flags);
  68. extern int
  69. pam_setcred( pam_handle_t *pamh, int flags);
  70. extern int
  71. pam_chauthtok( pam_handle_t *pamh, int flags);
  72. extern const char *
  73. pam_strerror( pam_handle_t *pamh, int errnum);
  74. #endif /* IFXPAM_APPL_H_INCL */