Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
d2a386d6
Commit
d2a386d6
authored
Mar 25, 1997
by
Marc G. Fournier
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
MOre univel port patches/files from:
"Michael P. Snyder" <msnyder@hawkeye.huntersmoon.com>
parent
52ab6525
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
342 additions
and
0 deletions
+342
-0
src/backend/port/univel/Makefile
src/backend/port/univel/Makefile
+35
-0
src/backend/port/univel/frontend-port-protos.h
src/backend/port/univel/frontend-port-protos.h
+22
-0
src/backend/port/univel/port-protos.h
src/backend/port/univel/port-protos.h
+40
-0
src/backend/port/univel/port.c
src/backend/port/univel/port.c
+161
-0
src/backend/port/univel/rusagestub.h
src/backend/port/univel/rusagestub.h
+30
-0
src/backend/port/univel/tas.s
src/backend/port/univel/tas.s
+35
-0
src/port/univel.h
src/port/univel.h
+19
-0
No files found.
src/backend/port/univel/Makefile
0 → 100644
View file @
d2a386d6
#-------------------------------------------------------------------------
#
# Makefile--
# Makefile for port/univel
#
# IDENTIFICATION
# $Header: /cvsroot/pgsql/src/backend/port/univel/Attic/Makefile,v 1.1 1997/03/25 07:54:31 scrappy Exp $
#
#-------------------------------------------------------------------------
SRCDIR
=
../../..
include
../../../Makefile.global
INCLUDE_OPT
=
-I
../..
\
-I
../../../include
CFLAGS
+=
$(INCLUDE_OPT)
OBJS
=
port.o
#tas.o
all
:
SUBSYS.o
SUBSYS.o
:
$(OBJS)
$(LD)
-r
-o
SUBSYS.o
$(OBJS)
depend dep
:
$(CC)
-MM
$(INCLUDE_OPT)
*
.c
>
depend
clean
:
rm
-f
SUBSYS.o
$(OBJS)
ifeq
(depend,$(wildcard depend))
include
depend
endif
src/backend/port/univel/frontend-port-protos.h
0 → 100644
View file @
d2a386d6
/*-------------------------------------------------------------------------
*
* port-protos.h--
* port-specific prototypes for Intel x86/Intel SVR4
*
*
* Copyright (c) 1994, Regents of the University of California
*
* port-protos.h,v 1.2 1995/03/17 06:40:18 andrew Exp
*
*-------------------------------------------------------------------------
*/
#ifndef FPORT_PROTOS_H
#define FPORT_PROTOS_H
/* port.c */
extern
long
random
(
void
);
extern
void
srandom
(
int
seed
);
extern
int
strcasecmp
(
char
*
s1
,
char
*
s2
);
extern
int
gethostname
(
char
*
name
,
int
namelen
);
#endif
/* FPORT_PROTOS_H */
src/backend/port/univel/port-protos.h
0 → 100644
View file @
d2a386d6
/*-------------------------------------------------------------------------
*
* port-protos.h--
* port-specific prototypes for Intel x86/Intel SVR4
*
*
* Copyright (c) 1994, Regents of the University of California
*
* port-protos.h,v 1.2 1995/03/17 06:40:18 andrew Exp
*
*-------------------------------------------------------------------------
*/
#ifndef PORT_PROTOS_H
#define PORT_PROTOS_H
#include <dlfcn.h>
#include "fmgr.h"
/* for func_ptr */
#include "utils/dynamic_loader.h"
/* dynloader.c */
/*
* Dynamic Loader on Intel x86/Intel SVR4.
*
* this dynamic loader uses the system dynamic loading interface for shared
* libraries (ie. dlopen/dlsym/dlclose). The user must specify a shared
* library as the file to be dynamically loaded.
*
*/
#define pg_dlopen(f) dlopen(f,RTLD_LAZY)
#define pg_dlsym dlsym
#define pg_dlclose dlclose
#define pg_dlerror dlerror
/* port.c */
extern
long
random
(
void
);
extern
void
srandom
(
int
seed
);
extern
int
strcasecmp
(
char
*
s1
,
char
*
s2
);
extern
int
gethostname
(
char
*
name
,
int
namelen
);
#endif
/* PORT_PROTOS_H */
src/backend/port/univel/port.c
0 → 100644
View file @
d2a386d6
/*-------------------------------------------------------------------------
*
* port.c--
* Intel x86/Intel SVR4-specific routines
*
* Copyright (c) 1994, Regents of the University of California
*
*
* IDENTIFICATION
* /usr/local/devel/pglite/cvs/src/backend/port/svr4/port.c,v 1.2 1995/03/17 06:40:19 andrew Exp
*
*-------------------------------------------------------------------------
*/
#include <math.h>
/* for pow() prototype */
#include <errno.h>
#include "rusagestub.h"
#include "port-protos.h"
long
random
()
{
return
(
lrand48
());
}
void
srandom
(
int
seed
)
{
srand48
((
long
int
)
seed
);
}
int
getrusage
(
int
who
,
struct
rusage
*
rusage
)
{
struct
tms
tms
;
register
int
tick_rate
=
CLK_TCK
;
/* ticks per second */
clock_t
u
,
s
;
if
(
rusage
==
(
struct
rusage
*
)
NULL
)
{
errno
=
EFAULT
;
return
(
-
1
);
}
if
(
times
(
&
tms
)
<
0
)
{
/* errno set by times */
return
(
-
1
);
}
switch
(
who
)
{
case
RUSAGE_SELF
:
u
=
tms
.
tms_utime
;
s
=
tms
.
tms_stime
;
break
;
case
RUSAGE_CHILDREN
:
u
=
tms
.
tms_cutime
;
s
=
tms
.
tms_cstime
;
break
;
default:
errno
=
EINVAL
;
return
(
-
1
);
}
#define TICK_TO_SEC(T, RATE) ((T)/(RATE))
#define TICK_TO_USEC(T,RATE) (((T)%(RATE)*1000000)/RATE)
rusage
->
ru_utime
.
tv_sec
=
TICK_TO_SEC
(
u
,
tick_rate
);
rusage
->
ru_utime
.
tv_usec
=
TICK_TO_USEC
(
u
,
tick_rate
);
rusage
->
ru_stime
.
tv_sec
=
TICK_TO_SEC
(
s
,
tick_rate
);
rusage
->
ru_stime
.
tv_usec
=
TICK_TO_USEC
(
u
,
tick_rate
);
return
(
0
);
}
/*
* Copyright (c) 1987 Regents of the University of California.
* All rights reserved.
*
* Redistribution and use in source and binary forms are permitted
* provided that this notice is preserved and that due credit is given
* to the University of California at Berkeley. The name of the University
* may not be used to endorse or promote products derived from this
* software without specific written prior permission. This software
* is provided ``as is'' without express or implied warranty.
*/
#if defined(LIBC_SCCS) && !defined(lint)
static
char
sccsid
[]
=
"@(#)strcasecmp.c 5.5 (Berkeley) 11/24/87"
;
#endif
/* LIBC_SCCS and not lint */
#include <sys/types.h>
#include <string.h>
/*
* This array is designed for mapping upper and lower case letter
* together for a case independent comparison. The mappings are
p * based upon ascii character sequences.
*/
static
unsigned
char
charmap
[]
=
{
'\000'
,
'\001'
,
'\002'
,
'\003'
,
'\004'
,
'\005'
,
'\006'
,
'\007'
,
'\010'
,
'\011'
,
'\012'
,
'\013'
,
'\014'
,
'\015'
,
'\016'
,
'\017'
,
'\020'
,
'\021'
,
'\022'
,
'\023'
,
'\024'
,
'\025'
,
'\026'
,
'\027'
,
'\030'
,
'\031'
,
'\032'
,
'\033'
,
'\034'
,
'\035'
,
'\036'
,
'\037'
,
'\040'
,
'\041'
,
'\042'
,
'\043'
,
'\044'
,
'\045'
,
'\046'
,
'\047'
,
'\050'
,
'\051'
,
'\052'
,
'\053'
,
'\054'
,
'\055'
,
'\056'
,
'\057'
,
'\060'
,
'\061'
,
'\062'
,
'\063'
,
'\064'
,
'\065'
,
'\066'
,
'\067'
,
'\070'
,
'\071'
,
'\072'
,
'\073'
,
'\074'
,
'\075'
,
'\076'
,
'\077'
,
'\100'
,
'\141'
,
'\142'
,
'\143'
,
'\144'
,
'\145'
,
'\146'
,
'\147'
,
'\150'
,
'\151'
,
'\152'
,
'\153'
,
'\154'
,
'\155'
,
'\156'
,
'\157'
,
'\160'
,
'\161'
,
'\162'
,
'\163'
,
'\164'
,
'\165'
,
'\166'
,
'\167'
,
'\170'
,
'\171'
,
'\172'
,
'\133'
,
'\134'
,
'\135'
,
'\136'
,
'\137'
,
'\140'
,
'\141'
,
'\142'
,
'\143'
,
'\144'
,
'\145'
,
'\146'
,
'\147'
,
'\150'
,
'\151'
,
'\152'
,
'\153'
,
'\154'
,
'\155'
,
'\156'
,
'\157'
,
'\160'
,
'\161'
,
'\162'
,
'\163'
,
'\164'
,
'\165'
,
'\166'
,
'\167'
,
'\170'
,
'\171'
,
'\172'
,
'\173'
,
'\174'
,
'\175'
,
'\176'
,
'\177'
,
'\200'
,
'\201'
,
'\202'
,
'\203'
,
'\204'
,
'\205'
,
'\206'
,
'\207'
,
'\210'
,
'\211'
,
'\212'
,
'\213'
,
'\214'
,
'\215'
,
'\216'
,
'\217'
,
'\220'
,
'\221'
,
'\222'
,
'\223'
,
'\224'
,
'\225'
,
'\226'
,
'\227'
,
'\230'
,
'\231'
,
'\232'
,
'\233'
,
'\234'
,
'\235'
,
'\236'
,
'\237'
,
'\240'
,
'\241'
,
'\242'
,
'\243'
,
'\244'
,
'\245'
,
'\246'
,
'\247'
,
'\250'
,
'\251'
,
'\252'
,
'\253'
,
'\254'
,
'\255'
,
'\256'
,
'\257'
,
'\260'
,
'\261'
,
'\262'
,
'\263'
,
'\264'
,
'\265'
,
'\266'
,
'\267'
,
'\270'
,
'\271'
,
'\272'
,
'\273'
,
'\274'
,
'\275'
,
'\276'
,
'\277'
,
'\300'
,
'\341'
,
'\342'
,
'\343'
,
'\344'
,
'\345'
,
'\346'
,
'\347'
,
'\350'
,
'\351'
,
'\352'
,
'\353'
,
'\354'
,
'\355'
,
'\356'
,
'\357'
,
'\360'
,
'\361'
,
'\362'
,
'\363'
,
'\364'
,
'\365'
,
'\366'
,
'\367'
,
'\370'
,
'\371'
,
'\372'
,
'\333'
,
'\334'
,
'\335'
,
'\336'
,
'\337'
,
'\340'
,
'\341'
,
'\342'
,
'\343'
,
'\344'
,
'\345'
,
'\346'
,
'\347'
,
'\350'
,
'\351'
,
'\352'
,
'\353'
,
'\354'
,
'\355'
,
'\356'
,
'\357'
,
'\360'
,
'\361'
,
'\362'
,
'\363'
,
'\364'
,
'\365'
,
'\366'
,
'\367'
,
'\370'
,
'\371'
,
'\372'
,
'\373'
,
'\374'
,
'\375'
,
'\376'
,
'\377'
,
};
int
strcasecmp
(
char
*
s1
,
char
*
s2
)
{
register
unsigned
char
u1
,
u2
;
for
(;;)
{
u1
=
(
unsigned
char
)
*
s1
++
;
u2
=
(
unsigned
char
)
*
s2
++
;
if
(
charmap
[
u1
]
!=
charmap
[
u2
])
{
return
charmap
[
u1
]
-
charmap
[
u2
];
}
if
(
u1
==
'\0'
)
{
return
0
;
}
}
}
#include <sys/utsname.h>
int
gethostname
(
char
*
name
,
int
namelen
)
{
static
struct
utsname
mname
;
static
int
called
=
0
;
if
(
!
called
)
{
called
++
;
uname
(
&
mname
);
}
strncpy
(
name
,
mname
.
nodename
,(
SYS_NMLN
<
namelen
?
SYS_NMLN
:
namelen
));
return
(
0
);
}
src/backend/port/univel/rusagestub.h
0 → 100644
View file @
d2a386d6
/*-------------------------------------------------------------------------
*
* rusagestub.h--
* Stubs for getrusage(3).
*
*
* Copyright (c) 1994, Regents of the University of California
*
* rusagestub.h,v 1.1.1.1 1994/11/07 05:19:39 andrew Exp
*
*-------------------------------------------------------------------------
*/
#ifndef RUSAGESTUB_H
#define RUSAGESTUB_H
#include <sys/time.h>
/* for struct timeval */
#include <sys/times.h>
/* for struct tms */
#include <limits.h>
/* for CLK_TCK */
#define RUSAGE_SELF 0
#define RUSAGE_CHILDREN -1
struct
rusage
{
struct
timeval
ru_utime
;
/* user time used */
struct
timeval
ru_stime
;
/* system time used */
};
extern
int
getrusage
(
int
who
,
struct
rusage
*
rusage
);
#endif
/* RUSAGESTUB_H */
src/backend/port/univel/tas.s
0 → 100644
View file @
d2a386d6
/=============================================================================
/
tas.s
--
test
and
set
lock
for
i386_solaris
/=============================================================================
.
file
"tas.s"
.
text
.
align
16
.
L1
.
text
:
.
globl
tas
tas
:
pushl
%
ebp
/
save
prev
base
pointer
movl
%
esp
,%
ebp
/
new
base
pointer
pushl
%
ebx
/
save
prev
bx
movl
8
(%
ebp
),%
ebx
/
load
bx
with
address
of
lock
pushl
%
ebx
/
save
prev
bx
movl
8
(%
ebp
),%
ebx
/
load
bx
with
address
of
lock
movl
$
255
,%
eax
/
put
something
in
ax
xchgb
%
al
,(%
ebx
)
/
swap
lock
value
with
"0"
cmpb
$
0
,%
al
/
did
we
get
the
lock
?
jne
.
Locked
subl
%
eax
,%
eax
/
yes
,
we
got
it
--
return
0
jmp
.
Finish
.
align
4
.
Locked
:
movl
$
1
,%
eax
/
no
,
we
didn
't get it - return 1
.
Finish
:
popl
%
ebx
/
restore
prev
bx
movl
%
ebp
,%
esp
/
restore
stack
state
popl
%
ebp
ret
/
return
.
align
4
.
type
tas
,
@
function
.
size
tas
,
.
-
tas
src/port/univel.h
0 → 100644
View file @
d2a386d6
# define USE_POSIX_TIME
# define NO_EMPTY_STMTS
# define USE_POSIX_SIGNALS
# define SYSV_DIRENT
#if 0
# define HAS_TEST_AND_SET
typedef unsigned char slock_t;
#endif
extern
long
random
(
void
);
extern
void
srandom
(
int
seed
);
extern
int
strcasecmp
(
char
*
s1
,
char
*
s2
);
extern
int
gethostname
(
char
*
name
,
int
namelen
);
#ifndef BYTE_ORDER
#define BYTE_ORDER LITTLE_ENDIAN
#endif
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment