|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1606 Details
Show help | Quick Search | Submit a Test Suite Support Request | Click here to view your privileges
This page provides all information on Problem Report 1606.
Report 1606 Actions
Problem Report Number 1606 Submitter's Classification Specification problem State Resolved Resolution Permanent Interpretation (PIN) Problem Resolution ID PIN.X.0163 Raised 1996-05-09 08:00 Updated 2003-03-13 08:00 Published 1996-05-15 08:00 Product Standard Internationalised System Calls and Libraries Extended (UNIX 95) Certification Program The Open Brand certification program Test Suite VSU version 4.1.0 Test Identification CAPI.os/ioprim/close 2 3 5 6 Specification System Interfaces and Libraries Issue 4 Version 2 Location in Spec See Problem Text Linked Problem Reports PIN4U.00028, (in, old, system) Problem Summary PIN4U.00029 This test may fail on implementations that do not implement STREAMS. Problem Text
Assertions affected by this IR:
close # 2, 3, 5, 6 (already cited above)
ioctl # 1, 3, 5, 6, 9, 10, 12, 48, 49, 51, 115-118, 132, 141-143
putmsg # 25
putpmsg # 26
write # 4
writev # 35
======================================================================
This test may fail on IUTs with no STREAMS devices.
Per PIN4U.00028 no STREAM file descriptors need exist.
The code in $TET_ROOT/CAPI/SRC/LIB/capi_user/smodule.c is sample code
which contains functions to:
int stream_module_reflector(int fildes[2])
- Setup two STREAMS devices in a "loopback" configuration
opening both devices and returning file descriptors for them.
The devices must accept pushing and popping of the modules
identified in the "modules" array.
void stream_module_cleanup(void)
- Free resources used by stream_module_reflector().
char *stream_module_name(smodule_t type)
- Return the name of STREAMS modules which can be pushed/popped
for the devices used by stream_module_reflector().
int stream_module_count(void)
- Return the number of modules defined for push/pop.
We have not modified these routines because they could not be used.
Based on PIN4U.00028 we do not provide STREAMS devices.
Therefore we request that a permanent interpretation be granted
for these assertions based on this interpretation since they would
require that stream file descriptors be supported on our
implementation in order to pass.Test Output
IC Start
TP Start
SPEC1170TESTSUITE CASE 2
The last successful call to int close(int fildes) for
fildes when fildes is associated with a STREAM shall
dismantle the STREAM.
PREP: Open master pseudo tty
PREP: Determine if pseudo tty is a stream
ERROR: Pseudo terminals are not STREAMS based on this
implementation. The sample code in
$TET_ROOT/CAPI/SRC/LIB/capi_user/smodule.c
must be modified to provide routines with the
equivalent functionality and interfaces for the
implementation.
UNRESOLVED
IC End
IC Start
TP Start
SPEC1170TESTSUITE CASE 3
The last successful call to int close(int fildes) for
fildes when fildes is associated with a STREAM,
O_NONBLOCK is not set for fildes, and no signals are
posted for the STREAM shall wait for each module and
driver with data on it's write queue to drain its
output before dismantling the STREAM.
PREP: Open master pseudo tty
PREP: Determine if pseudo tty is a stream
ERROR: Pseudo terminals are not STREAMS based on this
implementation. The sample code in
$TET_ROOT/CAPI/SRC/LIB/capi_user/smodule.c
must be modified to provide routines with the
equivalent functionality and interfaces for the
implementation.
UNRESOLVED
IC End
IC Start
TP Start
SPEC1170TESTSUITE CASE 5
The last successful call to int close(int fildes) for
fildes when fildes is associated with a STREAM and
signals are posted for the STREAM shall dismantle the
STREAM immediately, even if data is on a module's or
driver's write queue.
PREP: Open master pseudo tty
PREP: Determine if pseudo tty is a stream
ERROR: Pseudo terminals are not STREAMS based on this
implementation. The sample code in
$TET_ROOT/CAPI/SRC/LIB/capi_user/smodule.c
must be modified to provide routines with the
equivalent functionality and interfaces for the
implementation.
UNRESOLVED
IC End
IC Start
TP Start
SPEC1170TESTSUITE CASE 6
The last successful call to int close(int fildes) for
fildes when fildes is associated with a STREAM and
O_NONBLOCK is set for fildes shall dismantle the
STREAM immediately, even if data is on a module or
driver's write queue.
PREP: Open master pseudo tty
PREP: Determine if pseudo tty is a stream
ERROR: Pseudo terminals are not STREAMS based on this
implementation. The sample code in
$TET_ROOT/CAPI/SRC/LIB/capi_user/smodule.c
must be modified to provide routines with the
equivalent functionality and interfaces for the
implementation.
UNRESOLVED
IC End
IC Start
TP Start
SPEC1170TESTSUITE CASE 1
A successful call to int ioctl(int fildes, I_PUSH, int
arg) when fildes refers to a STREAMS device shall push
the module whose name is pointed to by arg onto the
top of the current STREAM, call the open function of
the newly-pushed module, and return a value other than -1.
PREP: Open master pseudo tty
PREP: Determine if pseudo tty is a stream
ERROR: Pseudo terminals are not STREAMS based on this
implementation. The sample code in
$TET_ROOT/CAPI/SRC/LIB/capi_user/smodule.c
must be modified to provide routines with the
equivalent functionality and interfaces for the
implementation.
UNRESOLVED
IC End
IC Start
IC Start
TP Start
SPEC1170TESTSUITE CASE 3
EINVAL in errno and return -1 on a call to int
ioctl(int fildes, I_PUSH, int arg) when fildes refers
to a STREAMS device and arg points to an invalid
module name.
PREP: Open master pseudo tty
PREP: Determine if pseudo tty is a stream
ERROR: Pseudo terminals are not STREAMS based on this
implementation. The sample code in
$TET_ROOT/CAPI/SRC/LIB/capi_user/smodule.c
must be modified to provide routines with the
equivalent functionality and interfaces for the
implementation.
UNRESOLVED
IC End
IC Start
TP Start
SPEC1170TESTSUITE CASE 5
ENXIO in errno and return -1 on a call to int
ioctl(int fildes, I_PUSH, int arg) when a hangup is
received on the STREAMS device referenced by fildes.
PREP: Open master pseudo tty
PREP: Determine if pseudo tty is a stream
ERROR: Pseudo terminals are not STREAMS based on this
implementation. The sample code in
$TET_ROOT/CAPI/SRC/LIB/capi_user/smodule.c
must be modified to provide routines with the
equivalent functionality and interfaces for the
implementation.
UNRESOLVED
IC End
IC Start
TP Start
SPEC1170TESTSUITE CASE 6
A successful call to int ioctl(int fildes, I_POP, int
arg) when fildes refers to a STREAMS device and arg is
0 shall remove the module just below the STREAM head
and return a value other than -1.
PREP: Open master pseudo tty
PREP: Determine if pseudo tty is a stream
ERROR: Pseudo terminals are not STREAMS based on this
implementation. The sample code in
$TET_ROOT/CAPI/SRC/LIB/capi_user/smodule.c
must be modified to provide routines with the
equivalent functionality and interfaces for the
implementation.
UNRESOLVED
IC End
TP Start
IC Start
TP Start
SPEC1170TESTSUITE CASE 9
ENXIO in errno and return -1 on a call to int
ioctl(int fildes, I_POP, 0) when a hangup is received
on the STREAMS device referenced by fildes.
PREP: Open master pseudo tty
PREP: Determine if pseudo tty is a stream
ERROR: Pseudo terminals are not STREAMS based on this
implementation. The sample code in
$TET_ROOT/CAPI/SRC/LIB/capi_user/smodule.c
must be modified to provide routines with the
equivalent functionality and interfaces for the
implementation.
UNRESOLVED
IC End
IC Start
TP Start
SPEC1170TESTSUITE CASE 10
A successful call to int ioctl(int fildes, I_LOOK, int
arg) when fildes refers to a STREAMS device shall
retrieve the name of the module just below the STREAM
head of the STREAM, place it in the character string
buffer pointed to by arg, and return a value other
than -1.
PREP: Open master pseudo tty
PREP: Determine if pseudo tty is a stream
ERROR: Pseudo terminals are not STREAMS based on this
implementation. The sample code in
$TET_ROOT/CAPI/SRC/LIB/capi_user/smodule.c
must be modified to provide routines with the
equivalent functionality and interfaces for the
implementation.
UNRESOLVED
IC End
IC Start
TP Start
SPEC1170TESTSUITE CASE 12
EINVAL in errno and return -1 on a call to int
ioctl(int fildes, I_LOOK, int arg) when fildes refers
to a STREAMS device and no module is present on the
STREAM.
PREP: Open master pseudo tty
PREP: Determine if pseudo tty is a stream
ERROR: Pseudo terminals are not STREAMS based on this
implementation. The sample code in
$TET_ROOT/CAPI/SRC/LIB/capi_user/smodule.c
must be modified to provide routines with the
equivalent functionality and interfaces for the
implementation.
UNRESOLVED
IC End
IC Start
TP Start
SPEC1170TESTSUITE CASE 48
A successful call to int ioctl(int fildes, I_FIND,
char *arg) when fildes refers to a STREAMS device
shall compare the names of all modules currently
present in the STREAM to the name pointed to by arg
and return 1 when the named module is present.
PREP: Open master pseudo tty
PREP: Determine if pseudo tty is a stream
ERROR: Pseudo terminals are not STREAMS based on this
implementation. The sample code in
$TET_ROOT/CAPI/SRC/LIB/capi_user/smodule.c
must be modified to provide routines with the
equivalent functionality and interfaces for the
implementation.
UNRESOLVED
IC End
IC Start
TP Start
SPEC1170TESTSUITE CASE 49
A successful call to int ioctl(int fildes, I_FIND,
char *arg) when fildes refers to a STREAMS device
shall compare the names of all modules currently
present in the STREAM to the name pointed to by arg
and return 0 when the named module is not present.
PREP: Open master pseudo tty
PREP: Determine if pseudo tty is a stream
ERROR: Pseudo terminals are not STREAMS based on this
implementation. The sample code in
$TET_ROOT/CAPI/SRC/LIB/capi_user/smodule.c
must be modified to provide routines with the
equivalent functionality and interfaces for the
implementation.
UNRESOLVED
IC End
IC Start
TP Start
SPEC1170TESTSUITE CASE 51
EINVAL in errno and return -1 on a call to int
ioctl(int fildes, I_FIND, char *arg) when fildes
refers to a STREAMS device and arg does not contain a
valid module name.
PREP: Open master pseudo tty
PREP: Determine if pseudo tty is a stream
ERROR: Pseudo terminals are not STREAMS based on this
implementation. The sample code in
$TET_ROOT/CAPI/SRC/LIB/capi_user/smodule.c
must be modified to provide routines with the
equivalent functionality and interfaces for the
implementation.
UNRESOLVED
IC End
IC Start
TP Start
SPEC1170TESTSUITE CASE 115
EINVAL in errno and return -1 on a call to int
ioctl(int fildes, I_STR, struct strioctl *arg) when
fildes refers to a STREAMS device and the value of the
ic_len member of the structure pointed to by arg is
less than 0.
PREP: Open master pseudo tty
PREP: Determine if pseudo tty is a stream
ERROR: Pseudo terminals are not STREAMS based on this
implementation. The sample code in
$TET_ROOT/CAPI/SRC/LIB/capi_user/smodule.c
must be modified to provide routines with the
equivalent functionality and interfaces for the
implementation.
UNRESOLVED
IC End
IC Start
TP Start
SPEC1170TESTSUITE CASE 116
EINVAL in errno and return -1 on a call to int
ioctl(int fildes, I_STR, struct strioctl *arg) when
fildes refers to a STREAMS device and the ic_len
member of the structure pointed to by arg is larger
than the maximum configured size of the data part of a
message.
PREP: Open master pseudo tty
PREP: Determine if pseudo tty is a stream
ERROR: Pseudo terminals are not STREAMS based on this
implementation. The sample code in
$TET_ROOT/CAPI/SRC/LIB/capi_user/smodule.c
must be modified to provide routines with the
equivalent functionality and interfaces for the
implementation.
UNRESOLVED
IC End
IC Start
TP Start
SPEC1170TESTSUITE CASE 117
EINVAL in errno and return -1 on a call to int
ioctl(int fildes, I_STR, struct strioctl *arg) when
fildes refers to a STREAMS device and the ic_timeout
member of the structure pointed to by arg is less than
-1
PREP: Open master pseudo tty
PREP: Determine if pseudo tty is a stream
ERROR: Pseudo terminals are not STREAMS based on this
implementation. The sample code in
$TET_ROOT/CAPI/SRC/LIB/capi_user/smodule.c
must be modified to provide routines with the
equivalent functionality and interfaces for the
implementation.
UNRESOLVED
IC End
IC Start
TP Start
SPEC1170TESTSUITE CASE 118
ENXIO in errno and return -1 on a call to int
ioctl(int fildes, I_STR, struct strioctl *arg) when a
hangup is received on the STREAMS device referenced by
fildes.
PREP: Open master pseudo tty
PREP: Determine if pseudo tty is a stream
ERROR: Pseudo terminals are not STREAMS based on this
implementation. The sample code in
$TET_ROOT/CAPI/SRC/LIB/capi_user/smodule.c
must be modified to provide routines with the
equivalent functionality and interfaces for the
implementation.
UNRESOLVED
IC End
IC Start
TP Start
SPEC1170TESTSUITE CASE 132
EINVAL in errno and return -1 on a call to int
ioctl(int fildes, I_SENDFD, int arg) when fildes is
not connected to a STREAMS-based pipe.
PREP: Open master pseudo tty
PREP: Determine if pseudo tty is a stream
ERROR: Pseudo terminals are not STREAMS based on this
implementation. The sample code in
$TET_ROOT/CAPI/SRC/LIB/capi_user/smodule.c
must be modified to provide routines with the
equivalent functionality and interfaces for the
implementation.
UNRESOLVED
IC End
IC Start
TP Start
SPEC1170TESTSUITE CASE 141
A successful call to int ioctl(int fildes, I_LIST,
struct str_list *arg) when fildes refers to a STREAMS
device and arg is a null pointer shall return the
number of modules, including the driver, that are on
the STREAM.
PREP: Open master pseudo tty
PREP: Determine if pseudo tty is a stream
ERROR: Pseudo terminals are not STREAMS based on this
implementation. The sample code in
$TET_ROOT/CAPI/SRC/LIB/capi_user/smodule.c
must be modified to provide routines with the
equivalent functionality and interfaces for the
implementation.
UNRESOLVED
IC End
IC Start
TP Start
SPEC1170TESTSUITE CASE 142
A successful call to int ioctl(int fildes, I_LIST,
struct str_list *arg) when fildes refers to a STREAMS
device and arg is not NULL shall place not more than
the number of module names specified by the sl_nmods
member of the structure pointed to by arg in the
sl_modlist array in the structure, place the number of
entries filled into the array in the sl_nmods member
of the structure, and return 0.
PREP: Open master pseudo tty
PREP: Determine if pseudo tty is a stream
ERROR: Pseudo terminals are not STREAMS based on this
implementation. The sample code in
$TET_ROOT/CAPI/SRC/LIB/capi_user/smodule.c
must be modified to provide routines with the
equivalent functionality and interfaces for the
implementation.
UNRESOLVED
IC End
IC Start
TP Start
SPEC1170TESTSUITE CASE 143
A successful call to int ioctl(int fildes, I_LIST,
struct str_list *arg) when fildes refers to a STREAMS
device and arg is not NULL shall fill in the entries
starting at the top of the STREAM and continuing down
the stream until either the end of the STREAM is
reached or the number of requested modules defined by
the sl_mods member of the structure pointed to by arg
is satisfied.
PREP: Open master pseudo tty
PREP: Determine if pseudo tty is a stream
ERROR: Pseudo terminals are not STREAMS based on this
implementation. The sample code in
$TET_ROOT/CAPI/SRC/LIB/capi_user/smodule.c
must be modified to provide routines with the
equivalent functionality and interfaces for the
implementation.
UNRESOLVED
IC End
SPEC1170TESTSUITE CASE 25
ENXIO in errno and return -1 on a call to int
putmsg(int fildes, const struct strbuf *ctlptr, const
struct strbuf *dataptr, int flags) when a hangup
condition is generated downstream for the specified
STREAM.
PREP: Open master pseudo tty
PREP: Determine if pseudo tty is a stream
ERROR: Pseudo terminals are not STREAMS based on this
implementation. The sample code in
$TET_ROOT/CAPI/SRC/LIB/capi_user/smodule.c
must be modified to provide routines with the
equivalent functionality and interfaces for the
implementation.
UNRESOLVED
IC End
IC Start
TP Start
SPEC1170TESTSUITE CASE 26
ENXIO in errno and return -1 on a call to int
putpmsg(int fildes, const struct strbuf *ctlptr, const
struct strbuf *dataptr, int band, int flags) when a
hangup condition is generated downstream for the
STREAM specified by fildes.
PREP: Open master pseudo tty
PREP: Determine if pseudo tty is a stream
ERROR: Pseudo terminals are not STREAMS based on this
implementation. The sample code in
$TET_ROOT/CAPI/SRC/LIB/capi_user/smodule.c
must be modified to provide routines with the
equivalent functionality and interfaces for the
implementation.
UNRESOLVED
IC End
IC Start
TP Start
SPEC1170TESTSUITE CASE 4
A call to ssize_t write(int fildes, const void *buf,
size_t nbyte) when fildes refers to a STREAMS device
and nbyte is 0 shall send a zero length message and
return 0.
PREP: Open master pseudo tty
PREP: Determine if pseudo tty is a stream
ERROR: Pseudo terminals are not STREAMS based on this
implementation. The sample code in
$TET_ROOT/CAPI/SRC/LIB/capi_user/smodule.c
must be modified to provide routines with the
equivalent functionality and interfaces for the
implementation.
UNRESOLVED
IC End
IC Start
TP Start
SPEC1170TESTSUITE CASE 35
A call to ssize_t writev(int fildes, const struct
iovec *iov, int iovcnt) when fildes refers to a
STREAMS device and the number of bytes requested is 0
shall send a zero length message and return 0.
PREP: Open master pseudo tty
PREP: Determine if pseudo tty is a stream
ERROR: Pseudo terminals are not STREAMS based on this
implementation. The sample code in
$TET_ROOT/CAPI/SRC/LIB/capi_user/smodule.c
must be modified to provide routines with the
equivalent functionality and interfaces for the
implementation.
UNRESOLVED
IC EndReview Information
Review Type TSMA Review Start Date null Completed null Status Complete Review Recommendation No Resolution Given Review Response
A permanent interpretation is recommended.
The UNRESOLVED results are consistent with an implementation
not supporting STREAMs when stream_module_reflector() is called.
Review Type SA Review Start Date null Completed null Status Complete Review Resolution Permanent Interpretation (PIN) Review Conclusion
A Permanent Interpretation is granted.
Problem Reporting System Options:
- View Report 1606
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority