Exceptions.h revision fcf3ce441efd61da9bb2884968af01cb7c1452cc
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2008 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _EXCEPTIONS_H
#define _EXCEPTIONS_H
#include <hbaapi.h>
#include "Handle.h"
#include "HBAPort.h"
#include "Trace.h"
#include <string>
/**
* @memo Superclass for all Exception we'll throw.
*
* @doc To ensure
* no uncaught exceptions squeeze through, all exceptions
* will map to some HBA_STATUS error code so we can easily
* handle them in catch blocks in our external API.
*/
log.stackTrace();
}
};
/**
* @memo Represents HBA API "Not Supported" error
*/
};
/**
* @memo Represents HBA API "Invalid Handle" error
*/
};
/**
* @memo Represents HBA API "Bad Argument" error
*/
};
/**
* @memo Represents HBA API "Illegal WWN" error
*/
};
/**
* @memo Represents HBA API "Illegal Index" error
*/
};
/**
* @memo Represents HBA API "More Data" error
*/
};
/**
* @memo Represents HBA API "Stale Data" error
*/
};
/**
* @memo Represents HBA API "SCSI Check Condition" error
*/
};
/**
* @memo Represents HBA API "Busy" error
*/
};
/**
* @memo Represents HBA API "Try Again" error
*/
};
/**
* @memo Represents HBA API "Unavailable" error
*/
};
/**
* @memo Represents HBA API "ELS Rejection" error
*/
};
/**
* @memo Represents HBA API "Invalid Logical Unit Number" error
*/
};
/**
* @memo Represents HBA API "Incompatible" error
*/
};
/**
* @memo Represents HBA API "Ambiguous WWN" error
*/
};
/**
* @memo Represents HBA API "Not a Target" error
*/
};
/**
* @memo Represents HBA API "Unsupported FC4 type" error
*/
};
/**
* @memo Represents HBA API "Incapable" error
*/
};
/**
* @memo Encapsulate I/O error scenarios.
*
* @doc If logging is enabled, this will
* automatically log the failure with as much detail as possible.
*/
};
/**
* @memo Generic error of unknown type
*
* @doc
* Grab bag for something catastrophic occuring in the internal
* logic of the VSL. Hopefully, this should never ever happen.
*/
};
#endif /* _EXCEPTIONS_H */