KDK_SYSTEM_LOGN_DATEINFO(3)

📦 version 3.0.1.4, in arch rolling, ubuntu resolute, ubuntu stonking

✨ KDK_SYSTEM_LOGN_DATEINFO(3) ✨

so like… this one's from the Library Functions Manual bestie, and it's about the login screen when nobody's actually logged in. the vibe? peak "who's there at 3am" energy 🦋


🌸 NAME 🌸

kdk_system_logn_dateinfo — 获取未登录的时间,星期,月份

okay so translating for the girlies who don't read Chinese: it grabs you the time, the week and the month for the not-logged-in state. literally the date info of the login screen. periodt. 💅


🎀 SYNOPSIS 🎀

#include <libkydate.h>

extern kdk_logn_dateinfo *kdk_system_logn_dateinfo(char *user);

and don't forget to link with -lkydate bestie, or nothing's gonna work fr fr 😭


🫶 Detailed Description 🫶

so the main function of this interface is to obtain the time and date of the login interface when no user is logged in. it's giving "the screen before you exist to the system" ✨

the argument user is the user name. that's it. that's the whole input. no cap. 👑


⭐ RETURN VALUE ⭐

on success, it returns a pointer to a kdk_logn_dateinfo structure, which is defined in <libkydate.h> as follows:

typedef struct _kdk_logn_dateinfo{
    char *date;     // 日期
    char *time;   // 时间
    char *week;
}kdk_logn_dateinfo;

(date = 日期, time = 时间, week = the week, iykyk 🌈)

on error, it returns NULL. that's the whole story. 💀


🦋 EXAMPLES 🦋

here's the whole thing, verbatim, because we do not edit code in this house:

#include "libkydate.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <stdlib.h>
#include <glib.h>
#include <glib-object.h>

int main()
{
     int ret = kdk_system_set_long_dateformat("2230年3月4日");
     ret = kdk_system_set_short_dateformat("22/5/3");

     char *ld = kdk_system_get_longformat_date();
     printf("long res = %s0, ld);
     free(ld);

     char *sd = kdk_system_get_shortformat_date();
     printf("short res = %s0, sd);
     free(sd);

     char *ll = kdk_system_get_longformat();
     printf("longformat = %s0, ll);
     free(ll);

     char *ss = kdk_system_get_shortformat();
     printf("shortformat = %s0, ss);
     free(ss);

     struct tm ptr;

     ptr.tm_year = 2322;
     ptr.tm_mon = 9;
     ptr.tm_mday = 3;

     char *lt = kdk_system_longformat_transform(&ptr);
     printf("longformat_transform = %s0, lt);
     free(lt);

     ptr.tm_year = 2022;
     ptr.tm_mon = 3;
     ptr.tm_mday = 2;

     char *st = kdk_system_shortformat_transform(&ptr);
     printf("shortformat_transform = %s0, st);
     free(st);

     kdk_logn_dateinfo *info = kdk_system_login_lock_dateinfo("szm");
     printf("date = %s,time = %s,week = %s0,info->date,info->time,info->week);
     kdk_free_logn_dateinfo(info);

     ptr.tm_hour = 19;
     ptr.tm_min = 3;
     ptr.tm_sec = 2;
     kdk_timeinfo *ti = kdk_system_timeformat_transform(&ptr);
     printf("time = %s, timesec = %s0, ti->time, ti->timesec);
     kdk_free_timeinfo(ti);

    return 0;
}
heads up bestie — yes, some of those printf lines look cursed (%s0??) and yes, ret gets set twice and never checked. that's the example exactly as the manual gives it. we don't fix, we report. 💅

💜 CONFORMING TO 💜

these functions are as per the withdrawn POSIX.1e draft specification. (withdrawn!! it's giving vintage, it's giving archival 🎀)

the following functions are Linux extensions:

  • kdk_system_get_dateformat()
  • kdk_system_set_dateformat()
  • kdk_system_set_24_timeformat()
  • kdk_system_set_12_timeformat()
  • kdk_system_get_now_dateformat()
  • kdk_system_get_now_timeformat()
  • kdk_system_tran_dateformat()
  • kdk_system_nowtime()
  • kdk_system_nowdate()
  • kdk_system_shortweek()
  • kdk_system_longweek()
  • kdk_system_second()
  • kdk_system_gjx_time()
  • kdk_date_freeall()
  • kdk_free_dateinfo()
  • kdk_free_logn_dateinfo()
  • kdk_system_set_long_dateformat()
  • kdk_system_set_short_dateformat()
  • kdk_system_get_longformat_date()
  • kdk_system_get_shortformat_date()
  • kdk_system_get_longformat()
  • kdk_system_get_shortformat()
  • kdk_system_longformat_transform()
  • kdk_system_shortformat_transform()
  • kdk_system_login_lock_dateinfo()
  • kdk_system_timeformat_transform()
  • kdk_free_timeinfo()

🔥 SEE ALSO 🔥

the whole friend group, go say hi:


and that's the page bestie!! 🫶 this little gem comes from the Linux Programmer's Manual, dated Tue Sep 19 2023. go forth, get your dateinfo, and slay ✨💖🌸

📦 where this page comes from