summaryrefslogtreecommitdiff
path: root/sd_login/doc.go
diff options
context:
space:
mode:
Diffstat (limited to 'sd_login/doc.go')
-rw-r--r--sd_login/doc.go39
1 files changed, 23 insertions, 16 deletions
diff --git a/sd_login/doc.go b/sd_login/doc.go
index ba1a0f7..33c31be 100644
--- a/sd_login/doc.go
+++ b/sd_login/doc.go
@@ -1,4 +1,4 @@
-// Copyright (C) 2016 Luke Shumaker <lukeshu@sbcglobal.net>
+// Copyright (C) 2016-2017 Luke Shumaker <lukeshu@sbcglobal.net>
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,27 +12,34 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-// Package sd_login TODO
+//go:generate make
+
+// Package sd_login introspects session and login information from
+// systemd, logind, and machined.
+//
+// There are 5 basic object types that these three system services manage.
//
-// The login manager manages 4 basic object types
+// The machine manager maintains a list of "machines":
//
-// - machine: A container or virtual machine
+// 1. machine: A local container or virtual machine
//
-// - seat: A set of hardware devices for a workspace; ie a screen
-// and keyboard
+// The host system, and machines hosted on it, may each run their own
+// login manager, which keeps track of seats, sessions, and users:
//
-// - session: A login session; tied to 0 or 1 seats (0 for things
-// like SSH login)
+// 2. seat: A set of hardware devices for a workspace; i.e. a screen
+// and keyboard
//
-// - user: Keeps track of logged in users; that is, users with 1 or
-// more sessions
+// 3. session: A login session; tied to 0 or 1 seats (0 for things
+// like SSH login)
//
-// TODO: why are machines part of this?
+// 4. user: Keeps track of logged in users; that is, users with 1 or
+// more sessions
//
-// - pid: A process may belong to a session, or directly to a user if
-// it is not part of a session. This "belonging" is separate
-// accounting by the login manager; it is NOT the same as the
-// EUID/RUID.
+// Finally, sessions and users can be used to group together
+// processes, which are kept track of by cgroup manager:
//
-// - peer: A peer is a process on the other end of a AF_UNIX socket.
+// 5. pid: A process may belong to a session, or directly to a user
+// if it is not part of a session. This "belonging" is separate
+// accounting by the login manager; it is NOT the same as the
+// EUID/RUID.
package sd_login