aboutsummaryrefslogtreecommitdiffstats
path: root/unsupported/tandem/getid.c
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2010-07-16 13:09:56 +0300
committerArnold D. Robbins <arnold@skeeve.com>2010-07-16 13:09:56 +0300
commitbc70de7b3302d5a81515b901cae376b8b51d2004 (patch)
treed36d6743e65697f6923b79d0ea8f9f9bf4ef7398 /unsupported/tandem/getid.c
parentb9e4a1fd4c8c8753ab8a9887bab55f03efe1e3e2 (diff)
downloadegawk-bc70de7b3302d5a81515b901cae376b8b51d2004.tar.gz
egawk-bc70de7b3302d5a81515b901cae376b8b51d2004.tar.bz2
egawk-bc70de7b3302d5a81515b901cae376b8b51d2004.zip
Move to gawk-3.1.0.
Diffstat (limited to 'unsupported/tandem/getid.c')
-rw-r--r--unsupported/tandem/getid.c120
1 files changed, 120 insertions, 0 deletions
diff --git a/unsupported/tandem/getid.c b/unsupported/tandem/getid.c
new file mode 100644
index 00000000..f933ac62
--- /dev/null
+++ b/unsupported/tandem/getid.c
@@ -0,0 +1,120 @@
+#if defined _MSC_VER || defined TANDEM
+
+#ifndef TANDEM
+#ifdef OS2
+# define INCL_DOSPROCESS
+# include <os2.h>
+# if _MSC_VER == 510
+# define DosGetPID DosGetPid
+# endif
+#else
+# include <process.h>
+#endif
+
+#ifdef OS2
+int getpid(void)
+{
+ PIDINFO PidInfo;
+
+ DosGetPID(&PidInfo);
+ return(PidInfo.pid);
+}
+#endif
+
+int getppid(void)
+{
+#ifdef OS2
+ PIDINFO PidInfo;
+
+ DosGetPID(&PidInfo);
+ return(PidInfo.pidParent);
+#else
+ return(0);
+#endif
+}
+
+#endif /* TANDEM */
+#ifdef TANDEM
+unsigned int getuid (void)
+{
+ short cret;
+ short cwd,pwd;
+
+ cret = PROCESS_GETINFO_(,,,,,,,,,,&cwd,&pwd);
+ return ((unsigned int) (cwd & 255));
+}
+
+unsigned int geteuid (void)
+{
+ short cret;
+ short cwd,pwd;
+
+ cret = PROCESS_GETINFO_(,,,,,,,,,,&cwd,&pwd);
+ return ((unsigned int) (pwd & 255));
+}
+
+unsigned int getgid (void)
+{
+ short cret;
+ short cwd,pwd;
+
+ cret = PROCESS_GETINFO_(,,,,,,,,,,&cwd,&pwd);
+ return ((unsigned int) ((cwd >> 8) & 255));
+}
+
+unsigned int getegid (void)
+{
+ short cret;
+ short cwd,pwd;
+
+ cret = PROCESS_GETINFO_(,,,,,,,,,,&cwd,&pwd);
+ return ((unsigned int) ((pwd >> 8) & 255));
+}
+
+int getpid(void)
+{
+ return (0);
+}
+
+int getppid(void)
+{
+ return (0);
+}
+
+#else
+unsigned int getuid (void)
+{
+ return (0); /* root! */
+}
+
+
+unsigned int geteuid (void)
+{
+ return (0);
+}
+
+
+unsigned int getgid (void)
+{
+ return (0);
+}
+
+
+unsigned int getegid (void)
+{
+ return (0);
+}
+
+
+char *getlogin (void)
+{
+ return ("root");
+}
+
+#endif /* TANDEM */
+#endif
+
+int getpgrp(void)
+{
+ return (0);
+}