package ecaml

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Source file user.ml

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
30
31
open! Core_kernel
open! Import

let login_name = Funcall.("user-login-name" <: nullary @-> return string)
let real_login_name = Funcall.("user-real-login-name" <: nullary @-> return string)
let system_user_names = Funcall.("system-users" <: nullary @-> return (list string))
let system_group_names = Funcall.("system-groups" <: nullary @-> return (list string))
let full_name = Funcall.("user-full-name" <: nullary @-> return string)
let uid = Funcall.("user-uid" <: nullary @-> return int)
let real_uid = Funcall.("user-real-uid" <: nullary @-> return int)
let gid = Funcall.("group-gid" <: nullary @-> return int)
let real_gid = Funcall.("group-real-gid" <: nullary @-> return int)

let initialize () =
  Defun.defun_nullary_nil
    ("ecaml-test-user-module" |> Symbol.intern)
    [%here]
    ~interactive:No_arg
    (fun () ->
       message_s
         [%message
           ""
             (login_name () : string)
             (real_login_name () : string)
             (uid () : int)
             (real_uid () : int)
             (gid () : int)
             (real_gid () : int)
             (system_user_names () : string list)
             (system_group_names () : string list)])
;;